我使用Perl进行字符串操作,并且使用反向函数和tr来翻译我的字符串。 该脚本读取一些字符串,然后执行以下操作:
$revread = reverse($newword);
$revread =~ tr/TACGN/ATGCN/;
所以这个词被反转然后被翻译 - 反向补充。 我有以下问题:
如果
怎么办?$revread=~ tr/TACG/ATGC/;
被使用。在这种情况下,如果" N"被发现会被跳过吗?因为我没有任何东西可以将它翻译成OR,它将被打印为" N"。
答案 0 :(得分:5)
是的,tr
内未指定的任何内容都将保留。
tr///
的文档有点难以理解,因为它的详细示例列在perldoc perlop
而不是通常的perldoc perlfunc
答案 1 :(得分:2)
Aleks G有正确的答案:试试吧。
我试了一下。我发现:
> perl -wE '$x = qq(abcdefg); $x=~ tr/abc/123/; say $x;'
123defg
音译中未找到的任何字符都保留原样。文档here。