Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re: Naming file handles with variables?

by citromatik (Curate)
on Apr 30, 2009 at 07:09 UTC ( #761051=note: print w/ replies, xml ) Need Help??


in reply to Naming file handles with variables?

Another (and less efficient) way, using Tie::File:

use strict; use warnings; use Tie::File; my @fnames = @ARGV; my @fhandlers; for my $fname (@fnames) { tie my @farr, 'Tie::File', $fname or die $!; push @fhandlers, \@farr; } # Traverse the files: for my $i (0..$#{$fhandlers[0]}){ my @nextvals = map {$_->[$i]} @fhandlers[0..$#fhandlers]; # @nextvals has the next line of each file } untie $_ for (@fhandlers);

Beware of possible overheads if the files are very big. (0..$#{$fhandlers[0]}) traverses the whole first file just for know how many lines it has.

Update: Added note about efficiency

citromatik


Comment on Re: Naming file handles with variables?
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://761051]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (7)
As of 2014-09-22 22:08 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (205 votes), past polls