use strict; use warnings; open my $in, "file1" or die "..."; while (<$in>) { print; print slurp(); } sub slurp { my $slurp = do {local $/; open my $in, "file2" or die; <$in>} return $slurp; }