in reply to How can I merge data using a hash?

perl -ane '$|?($F[1]=~/complex.\d/and$a{$&}=$F[0]):($b{$F[0]}=$F[1]);$ +|||=eof}{print"$_ $b{$_} $a{$_}\n"for keys%b' file1 file2