rarbox
rarbox

Reputation: 486

Is it possible to read multiple files with a single filehandle in Perl?

I have a few log files like these:

Is it possible to load all of them into a single filehandle or will I need to load each of them separately?

Upvotes: 2

Views: 1130

Answers (3)

brian d foy
brian d foy

Reputation: 132802

It's not terribly hard to do the same thing with a different filehandle for each file:

foreach my $file ( @ARGV )
    {
    open my($fh), '<', $file or do { warn '...'; next };
    while( <$fh> )
         {
         ...
         }
    }

Upvotes: 1

Leon Timmermans
Leon Timmermans

Reputation: 30225

One ugly hack would be this:

local @ARGV = qw(
    /var/log/pureftpd.log 
    /var/log/pureftpd.log-20100328 
    /var/log/pureftpd.log-20100322
);

while(<>) {
    # do something with $_;
}

Upvotes: 5

codymanix
codymanix

Reputation: 29468

You could use pipes to virtually concat these files to a single one.

Upvotes: 1

Related Questions