#!/usr/bin/perl # http://perlmonks.org/?node_id=1136858 use Algorithm::Diff qw(traverse_sequences); use strict; use warnings; my @bigA = split /\n/, < sub { print "$bigA[shift] $bigB[pop]\n" }, DISCARD_A => sub { push @newfile, my $left = $bigA[shift] . "\n"; print $left; }, DISCARD_B => sub { push @newfile, my $right = $bigB[pop] . "\n"; print ' ' x 10, $right; }, } ); print "\n\n", @newfile; #use File::Slurp; write_file 'newfilename', @newfile; # to make newfile