my %acgt = ( A => '00', C => '01', G => '10', T => '11', ); sub encode { my $string = uc shift; (my $bin = $string) =~ s/(.)/$acgt{$1}/g return pack 'B*', $bin; } my $lookup = ''; while( ) { chomp; $lookup{encode($_)} = 1; } while( ) { chomp; print if $lookup{encode($_)}; }