CGI-BBS > データベース > その他 > カンマ区切りをはずして出力したいのですが。


カレッヂ
カレッヂ


質問者 てるてる  投稿日 6/10(日) 11:53:22
皆さんお世話になります。
最近は自分でCGIを作ってみようと試みているのですが
今回以下の件で立ち止まってしまってます。
どうか皆さんご指導ください。

今、"visitor.txt"ファイルの中に
部長,営業,山田
課長,総務,大橋
とカンマで区切って2行書かれているとします。
それを"kekka.txt"ファイルに
カンマをはずして書き込みたいのですがどうもうまいこといきません。
[view1.cgi]の方では一行目の部長営業山田のみが、
[view2.cgi]の方では二行目の課長総務大橋しか
書き込まれません。
どのようにすれば2行(全て)ともカンマをはずして書き込まれるのか
教えて頂きたいです。
よろしくお願い致します。

[view1.cgi]
open(VISIT,"visitor.txt");
@data=split(/,/,<VISIT>);
close(VISIT);

open(IN,">kekka.txt");
foreach $key(@data){
        print IN "$key";
        }
close (IN);


kekka.txt 部長営業山田 




[view2.cgi]
open(IN,">kekka.txt");

open(VISIT,"visitor.txt");
while(<VISIT>){
@data=split(/,/,<VISIT>);
foreach $key(@data){
        print IN "$key";
        }
        }
close(VISIT);

close (IN);


kekka.txt  課長総務大橋
回答者 しあわせのツボ  [削除]  投稿日 6/10(日) 20:17:03
構造を残すなら
open(VISIT,"visitor.txt");
@data = <VISIT>;
close(VISIT);
foreach $key (@data) {
  @keys = split(/,/, $key);
  print IN "@key";
}
でしょうか。
私なら
open(VISIT,"visitor.txt");
while(<VISIT>) {
  s/\,//g;
  print IN;
}
close(VISIT);
とします。
質問者 てるてる  [削除]  投稿日 6/11(月) 00:00:17
しあわせのツボさんありがとうございました。
実は以前にレスキューさんのCGIを改造して使うときにもアドバイスをくれたのは
しあわせのつぼさんでした。(下記の内容で)

@BASE = reverse (@BASE);
を追加してみて下さい。
登録データ量に応じて相当の負荷がかかります。サーバの性能にもよりますが、300件以上の登録はしない方が無難でしょう。と。

最近は私も自作でCGIに挑戦しはじめました。
またお世話になると思いますがその時はまたよろしくお願い致します。

このページは終了したので返信(回答)は書きこめません

Web裏技