The following may get you started:
use strict;
use warnings;
open TEST, '>', 'test1.txt';
print TEST <<DATA;
1
2
3
5
7
9
DATA
close TEST;
open TEST, '>', 'test2.txt';
print TEST <<DATA;
2
4
5
8
9
DATA
close TEST;
open IN1, '<', 'test1.txt';
open IN2, '<', 'test2.txt';
my $in1Line = <IN1>;
my $in2Line = <IN2>;
while (defined $in1Line or defined $in2Line) {
if (! defined $in2Line or $in1Line < $in2Line) {
print "No match from test1.txt: $in1Line";
$in1Line = <IN1>;
} elsif (! defined $in1Line or $in2Line < $in1Line) {
print "No match from test2.txt: $in2Line";
$in2Line = <IN2>;
} else {
# match
print "Match: $in1Line";
$in1Line = <IN1>;
$in2Line = <IN2>;
}
}
close IN1;
close IN2;
Prints:
No match from test1.txt: 1
Match: 2
No match from test1.txt: 3
No match from test2.txt: 4
Match: 5
No match from test1.txt: 7
No match from test2.txt: 8
Match: 9
DWIM is Perl's answer to Gödel