#!/usr/bin/perl $fnx = "file1"; $fny = "file2"; $fnz = "file.uncommon"; $fntmp = "file.common"; open FPX, "$fnx" or die "Error in write:$!"; open FPY, "$fny" or die "Error in write:$!"; open FPZ, ">$fnz" or die "Error in write:$!"; open FPTMP, ">$fntmp" or die "Error in write:$!"; @x_lines = map {s/^\s+//; s/\s+$//; $_ } ; @y_lines = map {s/^\s+//; s/\s+$//; $_ } ; for $xnr(1..@x_lines) { $x = $x_lines[$xnr-1]; $matched = 0; for $ynr(1..@y_lines) { $y = $y_lines[$ynr-1]; if($x eq $y) { print "Saving matched at $xnr\n"; print FPTMP "$x \n"; $matched = 1; last; } } if(!$matched) { print "Saving unmatched at $xnr\n"; print FPZ "$x \n"; } } close FPX; close FPY; close FPZ;