Perl中拆分语法中缺少表达式

时间:2019-11-12 20:39:02

标签: perl

我并没有做太多(任何真正的)perl编程,今天有人向我发送了一些代码以在perl中进行检查。大多数情况下,我能理解发生了什么,但是下面一行代码中的split函数只是我无法理解的那一行

 while(<>) {
   chomp;
   my($v1, $v2, $v3, $v4) = split(/,/);

   # ....

我读了这个blog post,它表明该语法是有效的(并且我相信是有效的)。但是我不明白的是,Expression缺失后到底是什么被分割了

2 个答案:

答案 0 :(得分:3)

split documentation解释了省略每个参数时的情况。

  

如果仅给出PATTERN,则EXPR默认为$_

答案 1 :(得分:3)

此代码使用许多快捷方式。等效于此:

while(defined($_ = readline(ARGV))) {
   chomp($_);
   my($v1, $v2, $v3, $v4) = split(/,/, $_, 5);