use warnings; use strict; use Cwd qw(abs_path); my $file = "junk.txt"; my @lines; open my $fh, '<', $file or die "can't open file: $!"; while (<$fh>) { chomp; push( @lines, $_ ); } close $fh or die "Cannot close file: $!"; foreach my $my_file (@lines) { $my_file = abs_path($my_file); # get the absolute path of each file open my $fh2, '<', $my_file or die "can't open file: $!"; while (<$fh2>) { chomp; print $_, $/; } close $fh2 or die "Cannot close file: $!"; }