open(LOG,"logfile.txt") or die "Unable to open $logfile:$!";
print "\n";
while(<$LOG>){
print if /\berror\b/i;
}
close(LOG);
Run Code Online (Sandbox Code Playgroud)
FMc*_*FMc 10
你的拼写错误实际上让你更接近以正确的方式打开文件 - 即使用推荐的3参数形式的open.
use strict;
use warnings;
open(my $log, '<', "logfile.txt") or die "Open failed : $logfile : $!";
while (<$log>) {
...
}
Run Code Online (Sandbox Code Playgroud)
这种方法更好,因为您的文件句柄可以存储在词法范围的变量中(而不是像全局名称一样LOG).当词法变量超出范围时,这为自动关闭文件提供了额外的好处.此外,词法文件句柄可以使用更熟悉的语法在子例程之间传递.