私の perl スクリプトで、ファイルを開いて文字列を検索しました。成功しました。しかし、その検索の直後に同じ文字列を再度検索すると、スクリプトが元の場所からファイルの最後まで検索を開始するように見えるため、一致する文字列を見つけることができなくなります。私のコードは次のようなものです:
open ( INFILE, "./input.txt")
for($i=0; $i < 3; $i++){
print "i = $i\n";
$found = 0;
while (! $found && ($line = <INFILE>)){
if ( $line =~ /string/ ){
print "found!\n";
$found = 1;
}
else{
print "not found!\n";
}
}
}
close (INFILE);
input.txt ファイル:
string
random2
random2
私は出力が次のようになることを期待していました:
i = 0
found!
i = 1
found!
i = 2
found!
しかし、次のようになります。
i = 0
found!
i = 1
not found!
not found!
i = 2
誰でもこれで私を助けることができますか?perlを習い始めたばかりです。