【发布时间】:2013-03-24 12:53:29
【问题描述】:
/c 修饰符在这里做了一些我不明白的事情。我想知道为什么下面的代码会打印“abc3333”?
#!/usr/bin/perl
$x = 'abcdefg';
$x =~ tr/abc/123/c;
print $x;
【问题讨论】:
-
这是一个有效的问题,尽管措辞可能很糟糕。音译上的
/c修饰符代表“补码”,这在perlop"If the /c modifier is specified, the SEARCHLIST character set is complemented."中有解释,这确实是一个非常弱的解释。基本上,这意味着它会音译任何与“abc”不匹配的字符。 -
谁从这个问题的标题中删除了“tr”?
How to use in perl?如何在任何地方都是一个有效的问题? -
如果您阅读文档-perldoc.perl.org/perlop.html :-) 可能会有更多机会理解它