use strict; use warnings; open my $fh, $0 or die $!; my @fhs = (\*DATA, $fh); while (! grep {eof($_)} @fhs) { my @lines = map {scalar <$_>} @fhs; print for @lines; } __DATA__ line1 line2 line3 line4 line5 line6