use strict; use warnings; my %data=(); for my $file (@ARGV) { open my $FH, "<", $file or die "could not open $file $!"; while (<$FH>) { # ... } # ... } # ...