我正在调试一个另一个脚本。
这是他所做的片段:
...
open OUTPUT_FILE, "$makingOutDir/$inputFile";
$_ = <OUTPUT_FILE>;
while ( defined($_) ) {
$diff_text .= prep_for_output($_);
$_ = <OUTPUT_FILE>;
}
close OUTPUT_FILE;
print <<EOF
Test $num_test skipped: missing output file for matching
$diff_text
EOF
...
我想知道是否有可能获得相同的行为,简化它的行为:
...
print "Test $num_test skipped: missing output file for matching";
open OUTPUT_FILE, catfile($makingOutDir, $inputFile) or die $!;
while ( <OUTPUT_FILE> ) {
my $diff = prep_for_output($_);
print <<EOF
$diff
EOF
}
close OUTPUT_FILE;
...
或者,在您看来,有更好更简单的方法吗?
答案 0 :(得分:0)
这不是一个巨大的改进,但也许是这样的事情。
print "Test $num_test skipped: missing output file for matching";
my $filename = catfile($makingOutDir, $inputFile);
open my $out_fh, '<', $filename or die "Can't open $filename: $!";
print prep_for_output($_) while <$out_fh>;
close $out_fh;