我只是在学习 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";