gpt4 book ai didi

perl - perl中\0是什么意思?

转载 作者:行者123 更新时间:2023-12-04 14:09:50 26 4
gpt4 key购买 nike

$a = "aaata";
$b = "aataa";
$count = ($a ^ $b) =~tr/\0//c;

输出 2(因为两个未命中匹配由 c 标志执行)
不使用 c标志输出为 3 (火柴)

这里 \0有什么用在 tr .不使用 tr , 脚本给出了一些胡言乱语的字符。我不知道这是什么以及 tr 的用途在这里和使用 \0 .除此之外,我们使用 \0在 perl 中。

最佳答案

通常,最多包含三个八进制数字的转义序列将插入具有该代码点的字符,因此 \40\040产生一个空格字符,和 \0产生一个 ASCII NUL

该代码正在计算 $a 之间不同的字符数和 $b
它对两个字符串进行按位异或。任何相同的字符将 XOR 一起为零,产生一个 NUL 字符。 tr/\0//c计算结果字符串中除 NUL 之外的字符数(因为 /c 修饰符),因此在这种情况下它将返回 2,因为这两个字符串在第三个和第四个字符位置不同

转储表达式 $a ^ $b 的值清楚地表明这一点

"\0\0\25\25\0"
tr///算两个 \25字符,忽略所有 NUL

关于perl - perl中\0是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38802849/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com