I have an array in Perl that looks like this:
my @dynfiles = ('dyn.abc.transcript', 'dyn.def.transcript', 'dyn.ghi.transcript', 'dyn.jkl.transcript');
我想打开这些文件并逐个读取它们。为此,我有一段代码看起来像这样:
foreach my $dynfile (@dynfiles) {
print "$dynfile\n";
open my $fh , '<', $dynfile or die "Could not open file\n";
my %data;
$data{$dynfile} = do {
local $/ = undef;
while (my $line = <$fh>) {
chomp $line;
if ($line =~ m/Errors:\s+0/) {
print "Dyn run status: PASS\n";
} else {
print "Dyn Run status : FAIL\n";
}
}
close $fh;
}
}
我收到以下错误信息作为输出:
dyn.bxt.transcript
Dyn run status: FAIL
dyn.cnl.transcript
17:25:19 : -E- Could not open dyn.cnl.transcript
所以我的问题是它根本没有读取数组中的文件。此外,这个文件
dyn.bxt.transcript
中有这个字符串 Errors : 0
,但我仍然在输出中得到 Dyn run status: FAIL
。我在这里做错了什么吗?我使用了简单的模式匹配,不确定问题出在哪里。请帮忙看一下。提前感谢!