in reply to Perl Code Runs Extremely Slow

You don't really need two hashes for that. Your code can be simplified to:
#!/usr/bin/perl use strict; use warnings; open JHF, '<', 'File2' or die "Cannot open 'File2' $!"; my %vals; while ( <JHF> ) { my ( $key, $val ) = split; $vals{ $key } = $val if defined $val and defined $key; } close JHF; open IHF, '<', 'File1' or die "Cannot open 'File1' $!"; print "\n\n"; while ( <IHF> ) { my ( $k, $v ) = split; next unless defined $k and defined $v; print "$k $v $vals{$k}\n" if exists $vals{ $k }; }