![]() |
| カレッヂ |
質問者 バカボン
投稿日 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裏技 |