So your desired threshold of someone doing your thinking/experimenting/debugging has not yet been crossed to your satisfaction?
mentioned in response to the remark of "previous suggestions didn't work"
Just tossing some pseudo code out there:
use strict ;
use warnings ;
my(%h, %h2, $f, $master, $newmaster, %db) ;
while( <$f> ) {
@h{@KEYS} = split ;
$db{$h{KEYFIELD} = { %h } ;
}
while( <$master> ) {
@h2{@KEYS} = split ;
@h2{@OTHERKEYS} = @$db{$h2{KEYFIELD}}{@OTHERKEYS} if exists $db{$h2
+{KEYFIELD}} ;
print $newmaster join ":", @h2{@ALLKEYS} ;
}
# move new master ontop of oldmaster