sub getfile { my ($qfn) = @_; open(my $fh, '<', $qfn) or die("Can't open \"$qfn\": $!\n"); <$fh> } my @files = ('file.txt', 'file2.txt' ); my %file_contents = map { $_ => [ getfile($_) ] } @files;