– $|在Perl工作?

前端之家收集整理的这篇文章主要介绍了– $|在Perl工作?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
最近我遇到这种方式来过滤出列表的每个第二个值:
perl -E 'say grep --$|,1..10'
13579

它是如何工作的?

解决方法

$ |是一个特殊的Perl变量,只能有0和1的值。
任何赋值给$ |一个真正的非零值,就像
$| = 1;

 
  
   
  $| = 'foo';
 
  
$| = "4asdf";          # 0 + "4asdf" is 4
$| = \@a;

将具有设置$ |的效果到1.任何分配一个假的零值

$| = 0;
$| = "";
$| = undef;
$| = "erk";            # 0 + "erk" is 0

将设置$ |到0。

展开 – $ |到$ | = $ | – 1,现在你可以看到发生了什么。如果$ |原来是1,那么 – $ |将值更改为0。如果$ |原来是0,那么 – $ |将尝试将值设置为-1,但实际将值设置为1。

猜你在找的Perl相关文章