use File::Slurp; my @file1 = read_file('file1'); my @file2 = read_file('file2'); #### my $lines = merge_lines(\@file1, \@file2); write_file('file3', @$lines); #### sub merge_lines { my ($lines1, $lines2) = @_; my @lines; .... return \@lines; }