my @filesToRead = ( populate this list somehow ); ... foreach my $file ( @filesToRead ) { open my $in2FH, q{<}, $file or die qq{Can't open $file: $!\n}; local $/ = qq{\n}; while( <$in2FH> ) { ... } close $in2FH or die qq{Can't close $file: $!\n}; }