我的代码:
use strict;
use warnings;
my $seq = "ATGGT[TGA]G[TA]GC";
print "The sequences is $seq\n";
my %regex = (
AG => "R",
TC => "Y",
GT => "K",
AC => "M",
GC => "S",
AT => "M",
CGT => "B",
TGA => "D",
ACT => "H",
ACG => "V",
ACGT => "N"
);
$seq =~ s/\[(\w+)\]/$regex{$1}/g;
print "$seq\n";
我的理想输出是:ATGGTDGMGC 但是在上面的场景中,由于我的哈希键是 AT 而不是 TA,它不会运行。解决此问题的一种方法是添加另一个键值:TA => "M"。但是我不能对所有的键值对都这样做,因为有太多的可能性。
那么有没有更好的方法来解决这个问题??
谢谢..