カレッヂ |
質問者 バカボン
投稿日 2004/5/6(木) 19:49:31
記事を閉じてしまいましたので改めてスレッド立てます(^^;; さっそくお答え頂きましてありがとうございます。 そこで実際に書いて頂いたソースは 下記のソースの中で該当する範囲はどこからどこになるのでしょうか? それとも下記のソース全てでしょうか? FileOpenのサブルーチンはそのままでよろしいのでしょうか? if($FORM{Tfile} eq 'Data' and $CNF{Check}{UdataSearch}){ &FileOpen('FILE',"$UserDir/user.cgi"); &FileOpen2('FILE',"$UserDir/user2.cgi"); &FileOpen3('FILE',"$UserDir/user3.cgi"); &FileOpen4('FILE',"$UserDir/user4.cgi"); (FILE) = (&FileOpen,&FileOpen2,&FileOpen3,&FileOpen4); while(<FILE>){ my@tmp=split(/<>/,$_); @{$USER{$tmp[$REC{User}{UserNum}]}}=@tmp; }close(FILE); }my$char='(?:[\x00-\x7F\xA1-\xDF]|[\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC])'; my$file=($FORM{Tfile} eq 'User')?"$UserDir/user.cgi":"$DataDir/data/data.cgi"; my$file=($FORM{Tfile} eq 'User')?"$UserDir/user2.cgi":"$DataDir/data/data.cgi"; my$file=($FORM{Tfile} eq 'User')?"$UserDir/user3.cgi":"$DataDir/data/data.cgi"; my$file=($FORM{Tfile} eq 'User')?"$UserDir/user4.cgi":"$DataDir/data/data.cgi"; &FileOpen('SEARCH',$file); while(<SEARCH>){ $found=1; ($FORM{SearchMax} and @HitNums>=$FORM{SearchMax}) and last; ******************************************************************************** foreach $i ('',2,3,4) { if(open(FILE,"user$i?.cgi") { &Error("ファイルが開けません。"); } foreach(<FILE>) { @{$USER{$tmp[$REC{User}{UserNum}]}}=split(/<>/,$_); } close(FILE); } これで、@{$USER{$tmp[$REC{User}{UserNum}]}}に4ファイル全てのデータが入ります。 こんなんで参考になりますでしょうか。 ******************************************************************************** 書いて頂いたソースはどこからどこまで該当するのでしょうか? お手数ですが教えて頂けないでしょうか?
プロバイダ参照: |
回答者 しあわせのツボ
[削除]
投稿日 2004/5/6(木) 23:09:42
元はこれですね。 http://www.rescue.ne.jp/CGI-BBS/cgi/perl/20040504155345.shtml (書いておかないと散逸してしまうので) 一部書き落としがありましたので再掲。 「せっかく書いた」sub FileOpenを使いたいなら以下のように。 foreach $i ('',2,3,4) { &FileOpen('FILE',"user$i?.cgi"); foreach(<FILE>) { @{$USER{$tmp[$REC{User}{UserNum}]}}=split(/<>/,$_); } close(FILE); } これで、元の&FileOpen〜からclose(FILE);までを置き換えられます。 my $char以降は何をしたいのかよくわからないので、動いているならそのままで。 my $fileが多数ありますが、myの指示は最初にひとつ書くだけにしましょう。 |
質問者 バカボン
[削除]
投稿日 2004/5/7(金) 10:29:02
ありがとうございます。さっそく移植して試してみようと思います。 |
返信(回答)する
Web裏技 |