in reply to How do I read the files in @ARGV one by one
The trouble with your code is that <> does advanced magic: it reads in all the files on the command line line by line. You can find out which file you are reading right now by looking at $ARGV.
So for your little problem, you could remember what $ARGV was when you last read a line and check if $ARGV has changed:
my $OLDARGV; while (<>) { push(@data, $ARGV) if $ARGV ne $OLDARGV; push(@data, $_); $OLDARGV=$ARGV; }
But I admit that Masems code is probably easier to figure out.
-- Brigitte 'I never met a chocolate I didnt like' Jellinek http://www.horus.com/~bjelli/ http://perlwelt.horus.at
|
---|
In Section
Seekers of Perl Wisdom