for my $fn (@file_names){ open my $handle, '<', $fn or die "Can't open `$fn' for reading: $!"; # do something with the file here # and write to output file close $fn; }