我有几个这样的日志文件:
是否可以将所有这些文件加载到一个文件句柄中,还是需要分别加载它们?
答案 0 :(得分:5)
一个丑陋的黑客就是这个:
local @ARGV = qw(
/var/log/pureftpd.log
/var/log/pureftpd.log-20100328
/var/log/pureftpd.log-20100322
);
while(<>) {
# do something with $_;
}
答案 1 :(得分:1)
您可以使用管道将这些文件虚拟连接到单个文件。
答案 2 :(得分:1)
对每个文件使用不同的文件句柄做同样的事情并不是非常困难:
foreach my $file ( @ARGV )
{
open my($fh), '<', $file or do { warn '...'; next };
while( <$fh> )
{
...
}
}