首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >$var = 500和$var = '500‘之间的差异

$var = 500和$var = '500‘之间的差异
EN

Stack Overflow用户
提问于 2013-06-27 08:47:18
回答 9查看 1.2K关注 0票数 28

在Perl中,它们之间的区别是什么

代码语言:javascript
复制
$status = 500;

代码语言:javascript
复制
$status = '500';
EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2013-06-27 08:49:28

不是很多。他们都把500赋给了$status。最初使用的内部格式会有所不同(IV和PV,UTF8=0),但这对Perl并不重要。

然而,有些事情会根据存储格式的选择而有所不同,尽管它们不应该如此。

  • JSON决定是否使用引号。
  • DBI猜测它应该用于参数的SQL类型。
  • 位运算符(&|^)猜测它们的操作数是字符串还是UTF,以及其他与文件相关的内置函数是否使用UTF-8对文件名进行编码。(错误!)
  • 某些数学运算是否返回负零。
票数 39
EN

Stack Overflow用户

发布于 2013-06-27 09:22:13

正如@ikegami所说的,我并没有说太多。但请记住,这里有很大的不同

代码语言:javascript
复制
$ perl -E '$v=0500; say $v'

打印320 ( 0500八进制数的十进制值),和

代码语言:javascript
复制
$ perl -E '$v="0500"; say $v'

什么印刷品

代码语言:javascript
复制
0500

代码语言:javascript
复制
$ perl -E '$v=0900; say $v'

因错误而死亡的内容:

代码语言:javascript
复制
Illegal octal digit '9' at -e line 1, at end of line
Execution of -e aborted due to compilation errors.

代码语言:javascript
复制
perl -E '$v="0300";say $v+1'

打印

代码语言:javascript
复制
301

代码语言:javascript
复制
perl -E '$v="0300";say ++$v'

打印

代码语言:javascript
复制
0301

0x\d+类似,例如:

代码语言:javascript
复制
$v = 0x900;
$v = "0x900";
票数 21
EN

Stack Overflow用户

发布于 2013-06-27 10:18:59

只有当您将$var与少数几个运算符之一一起使用时才有区别,这些运算符在操作字符串或数字时具有不同的风格:

代码语言:javascript
复制
$string = '500';
$number = 500;
print $string & '000', "\n";
print $number & '000', "\n";

输出:

代码语言:javascript
复制
000
0
票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17332808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档