Since you claim to be a "perl beginner" -
kcott's (++) code may be a little esoteric.
Here is somewhat simpler and more traditional code (with no module dependencies):
use strict;
use warnings;
open(my $table, "<", "table.txt") or die "Cannot open Tables";
my %ids2proteins;
while (<$table>){
chomp;
my ( $protein, $nbr) = split ;
next unless $nbr;
$ids2proteins{$nbr} = $protein;
}
close $table;
open(my $val, "<", "values.txt") or die "Cannot open Values";
while (<$val>){
chomp;
next unless length $_ > 1;
next unless my $prot = $ids2proteins{$_};
print "$prot => $_ \n";
}
close $val;
What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against?
-Larry Wall, 1992