http://www.perlmonks.org?node_id=1087865


in reply to Re^4: Concatenating arrays fetched from different text files
in thread Concatenating arrays fetched from different text files

Well, if I understand you correctly, you really need the 4th element of each array, which means that you only really need the 4th line of each file. If this is correct, then don't go into the trouble of storing all your files into arrays, but simply store into a single array the 4th line of each file (and you can stop reading the file as soon as you've reached the 4th line). Your code will be far simpler, will execute faster and use much less memory.

Assuming the files are passed as arguments to the script, you could have something as simple as this (untested):

my @array; # I would use a better name if I knew the array's contents for my $file (@ARGV) { open my $FH, "<", $file or die "cannot open $file $!" while (<$FH>) { chomp and push @array, $_ and last if $. == 4; } } print "@array\n";
Or did I misunderstand what you are after?