$ perl -Mstrict -Mwarnings -E ' > open my $fi, q{<}, \ < File I Line 1 > File I Line 2 > File I line 3 > EOFi > > open my $fa, q{<}, \ < File A Line 1 > File A Line 2 > EOFa > > open my $fb, q{<}, \ < File B Line 1 > File B Line 2 > File B Line 3 > EOFb > > open my $fc, q{<}, \ < File C Line 1 > File C Line 2 > File C Line 3 > File C Line 4 > EOFc > > my @slaveFHs = ( $fa, $fb, $fc ); > while ( <$fi> ) > { > chomp; > say join q{,}, $_, > map { chomp; $_ } > map { eof $_ ? q{--eof--} : scalar <$_> } > @slaveFHs; > }' File I Line 1,File A Line 1,File B Line 1,File C Line 1 File I Line 2,File A Line 2,File B Line 2,File C Line 2 File I line 3,--eof--,File B Line 3,File C Line 3