【发布时间】:2013-09-26 21:54:24
【问题描述】:
脚本在结果文本文件中打印整行文本文件时遇到问题:
use strict;
use warnings;
use autodie;
my $out = "result2.txt";
open my $outFile, ">$out" or die $!;
my %permitted = do {
open my $fh, '<', 'f1.txt';
map { /(.+?)\s+\(/, 1 } <$fh>;
};
open my $fh, '<', 'f2.txt';
while (<$fh>) {
my ($phrase) = /(.+?)\s+->/;
if ($permitted{$phrase}) {
print $outFile $fh;
}
close $outFile;
问题出在这一行
print $outFile $fh;
有什么想法吗?
谢谢
【问题讨论】:
-
您正在尝试将文件句柄
$fh打印到$outFile。将该行更改为print $outFile $_; -
使用 autodie 模块,您不需要
or die $!;这就是 autodie 存在的原因。
标签: perl