+ -
当前位置:首页 → 问答吧 → 不明白这个Magic Perl Code!

不明白这个Magic Perl Code!

时间:2010-12-16

来源:互联网

input文本:
12
23
34
45
56
67

output结果:
1223
3445
5667

不明白这个Magic Perl Code!
  1. perl -lpe "$\=--$|?$,:$/" file
复制代码
特殊变量
--$|

作者: cinanine   发布时间: 2010-12-16

$| 初始化为 0   
--$|  就变成 1
然后 --$|  又是 0

这东西以前仙子发过帖子解释了。

作者: toniz   发布时间: 2010-12-16

本帖最后由 cinanine 于 2010-12-16 08:15 编辑

解释解释



--0  变成 1

不明白这个--0  变成1

--0 怎么不变成-1
0-1= -1

作者: cinanine   发布时间: 2010-12-16

作者: x9x9   发布时间: 2010-12-16

本帖最后由 cinanine 于 2010-12-16 09:19 编辑


QUOTE:
看这里~
x9x9 发表于 2010-12-16 08:16




    可就是看不明白
$| is initially 0.
--$| == 1
$|==1 in the first

--0==1
0-1=1???

具体情况就是看不明白

--$| 啥不存在这个 -1 -2 -3 -4.....

作者: cinanine   发布时间: 2010-12-16

$t=0,然后--$t的话,就是-1 -2 -3 -4.....
$t是普通变量,而$|的特殊变量。
$t只是在PERL内部定义的类型是一个SV,而$|是一个PERL_MAGIC_sv ,它拥有SV所没有的特性。

作者: toniz   发布时间: 2010-12-16