在Perl中,它们之间的区别是什么
$status = 500;和
$status = '500';发布于 2013-06-27 08:49:28
不是很多。他们都把500赋给了$status。最初使用的内部格式会有所不同(IV和PV,UTF8=0),但这对Perl并不重要。
然而,有些事情会根据存储格式的选择而有所不同,尽管它们不应该如此。
&,|和^)猜测它们的操作数是字符串还是UTF,以及其他与文件相关的内置函数是否使用UTF-8对文件名进行编码。(错误!)发布于 2013-06-27 09:22:13
正如@ikegami所说的,我并没有说太多。但请记住,这里有很大的不同
$ perl -E '$v=0500; say $v'打印320 ( 0500八进制数的十进制值),和
$ perl -E '$v="0500"; say $v'什么印刷品
0500和
$ perl -E '$v=0900; say $v'因错误而死亡的内容:
Illegal octal digit '9' at -e line 1, at end of line
Execution of -e aborted due to compilation errors.和
perl -E '$v="0300";say $v+1'打印
301但
perl -E '$v="0300";say ++$v'打印
0301与0x\d+类似,例如:
$v = 0x900;
$v = "0x900";发布于 2013-06-27 10:18:59
只有当您将$var与少数几个运算符之一一起使用时才有区别,这些运算符在操作字符串或数字时具有不同的风格:
$string = '500';
$number = 500;
print $string & '000', "\n";
print $number & '000', "\n";输出:
000
0https://stackoverflow.com/questions/17332808
复制相似问题