加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

在使用/ d理解perl tr命令方面需要帮助

发布时间:2020-12-15 21:57:33 所属栏目:大数据 来源:网络整理
导读:我在网上看到了以下Perl示例. #!/usr/bin/perl $string = 'the cat sat on the mat.';$string =~ tr/a-z/b/d;print "$stringn"; 结果: b b b. 有人可以解释一下吗? 解决方法 / d表示删除. 这样做是很不寻常的,因为它令人困惑. tr/a-z//d 会删除所有’a-z
我在网上看到了以下Perl示例.
#!/usr/bin/perl 

$string = 'the cat sat on the mat.';
$string =~ tr/a-z/b/d;

print "$stringn";

结果:

b b   b.

有人可以解释一下吗?

解决方法

/ d表示删除.

这样做是很不寻常的,因为它令人困惑.

tr/a-z//d

会删除所有’a-z’字符.

tr/a-z/b/

将所有a-z字符音译为b.

这里发生的事情是 – 因为你的音译没有在每一侧映射相同数量的字符 – 任何不映射的东西都会被删除.

所以你真正做的是:

tr/b-z//d;
tr/a/b/;

例如.音译到bs然后删除任何其他内容(空格和点除外).

为了显示:

use strict;
use warnings;
my $string = 'the cat sat on the mat.';
$string =~ tr/the/xyz/d;

print "$stringn";

警告:

Useless use of /d modifier in transliteration operator at line 5.

和打印:

xyz cax sax on xyz max.

如果您将其更改为:

#!/usr/bin/perl 
use strict;
use warnings;
my $string = 'the cat sat on the mat.';
$string =~ tr/the/xy/d;

print "$stringn";

你改为:

xy cax sax on xy max.

因此:t – > x和h – >年. e刚被删除.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读