in reply to Need help for extracting Log file using Perl script

Assuming that there are no two equal lines in one file and files are not too big two simple loops will do the job:
#!/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+$//; $_ } <FPX>; @y_lines = map {s/^\s+//; s/\s+$//; $_ } <FPY>; 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;