-4

我正在使用 Perl 进行字符串操作,这涉及使用 reverse 函数和 tr 来翻译我的字符串。该脚本读取一些字符串,然后执行以下操作:

$revread = reverse($newword);
$revread =~ tr/TACGN/ATGCN/;

所以这个词被颠倒然后被翻译——反向补语。我有以下问题:

如果

$revread=~ tr/TACG/ATGC/;

用来。在这种情况下,如果找到“N”,它会被跳过吗?就像在 tr 中一样,我没有任何东西可以将它翻译成 OR 它将被打印为“N”。

4

2 回答 2

5

是的,内部未指定的任何内容都tr将被单独保留。

的文档tr///有点难以获取,因为它的详细示例列在perldoc perlop 而不是通常的perldoc perlfunc

于 2011-11-24T14:17:32.360 回答
2

Aleks G 的正确答案是:试试吧。

我尝试过这个。我找到:

> perl -wE '$x = qq(abcdefg); $x=~ tr/abc/123/; say $x;'
123defg

音译中未找到的任何字符均保持原样。文档在这里

于 2011-11-24T14:20:58.963 回答