my %map; @map{qw(AA AC AT AG CA CC CT CG TA TC TT TG GA GC GT GG A C T G)} = (0..9, 'a'..'f', 0..3); sub bitkey { my $key = shift; $key =~ s/(..?)/$map{$1}/g; return pack "H*" => $key; }