use strict; use warnings; use File::Slurp qw/read_file/; use List::MoreUtils qw/zip/; chomp( my @file1 = read_file $ARGV[0] ); chomp( my @file2 = read_file $ARGV[1] ); my @combined = zip @file1, @file2; for my $i ( 0 .. $#file1 ) { last if !defined $file1[$i] or !defined $file2[$i]; print "$file1[$i]\t$file2[$i]\n"; }