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