私はちょうど perl を学んでいて、同時に正規表現を学ぼうとしています。基本的に、ログファイルを開いて、ユーザー入力に一致する行を新しいファイルに出力しようとしています。次のコードを使用すると、「Clinton」という単語を入力しても何も出力されません。でも交換したら
print MYFILE if /\$string\;
と
print MYFILE if /\Clinton\;
期待どおりに実行されます。何か案は?私が見逃しているのは単純なことだと知っています。
print "Enter a word to look up: ";
$string = <>;
print "You put $string";
open(LOG,"u_ex121011.log") or die "Unable to open logfile:$!\n";
open (MYFILE, '>>data2.txt');
while(<LOG>){
print MYFILE if /\Q($string)\E/;
}
close (MYFILE);
close(LOG);
print "Check data2.txt";