in reply to How to compare elements within an array
Just for fun, this version detects which of the two files is actually missing:
use strict; use warnings; my %file; while(<DATA>) { chomp; if( !/^lab(\d+)_set(\d+)\.txt/ ) { warn "$_ doesn't belong here!"; next; } $file{$1} += $2; } for( keys %file ) { print "lab$_ ", $file{$_} == 3 ? 'matched' : "is missing lab${_}_set" . ( 3 - $file{$_} ) . ".txt", "\n"; } __DATA__ lab1_set1.txt lab1_set2.txt lab2_set1.txt lab2_set2.txt lab3_set2.txt lab100_set1.txt lab100_set2.txt
...produces...
lab1 matched lab3 is missing lab3_set1.txt lab100 matched lab2 matched
Dave
|
|---|