use strict;
use warnings;
my $man1 = <<MAN;
EXECUTE 1302267 help.txt
RUN 387469 help.txt
PIPE 34010402 run.exe
MAN
my $man2 = <<MAN;
EXECUTE 1302267 help.txt
RUN 387469 run.exe
PIPE 34010202 run.exe
MAN
my %manLu1;
open my $inMan, '<', \$man1;
while (<$inMan>) {
chomp;
my ($program, $size, $file) = split ' ', $_, 3;
$manLu1{$program}{$file} = $size if defined $file;
}
close $inMan;
open $inMan, '<', \$man2;
while (<$inMan>) {
chomp;
my ($program, $size, $file) = split ' ', $_, 3;
next if ! exists $manLu1{$program}{$file} || $manLu1{$program}{$fi
+le} == $size;
print "1: $program\n";
print "1: $file\n";
print "1: $manLu1{$program}{$file}\n";
print "2: $size\n";
}
close $inMan;
Prints:
1: PIPE
1: run.exe
1: 34010402
2: 34010202
True laziness is hard work
|