in reply to
updated_again: how to loop through hash tables more efficiently
Can you please specify what output you expect from the given sample files and why? You code does not output anything. To make it ouput something, I had to add the key among its values in hash1:
It then prints all the keys from hash2. That is probably not what you wanted.
BTW, my ($hash1, $hash2)= @ARGV or die "$!"; will return strange errors (or none at all) if no arguments are supplied.
@ARGV == 2 or die "Specify two arguments.\n";
should work better. Also, using double quotes in readhash("$hash1")
where $hash1 is a file name is useless. Just