小编per*_*rfi的帖子

为什么`$ v =()= split`返回1?

perldoc 说"标量上下文中的列表赋值返回列表赋值右侧的元素数",但是当我尝试这段代码时:

perl -e '$_="aaaaa";print $v=(()=split //)'
Run Code Online (Sandbox Code Playgroud)

输出1让我感到困惑.(我期待的答案是5.)

任何人都能解释一下吗?

perl

10
推荐指数
2
解决办法
595
查看次数

perl中智能匹配运算符的意外行为

根据perlop:Smartmatch-Operator,代码如下:

use 5.012;

my @array = qw/1 2/;

print @array ~~ 2
    ? "true"
    : "false";
Run Code Online (Sandbox Code Playgroud)

应该使用规则

左右描述和伪代码
============================================= ==================

任何Num数字相等(如:Any == Num)

但输出是"假".但我想

@array == 2
Run Code Online (Sandbox Code Playgroud)

应该是真的.我哪里出错了?

perl

2
推荐指数
1
解决办法
198
查看次数

标签 统计

perl ×2