我并没有做太多(任何真正的)perl编程,今天有人向我发送了一些代码以在perl中进行检查。大多数情况下,我能理解发生了什么,但是下面一行代码中的split函数只是我无法理解的那一行
while(<>) {
chomp;
my($v1, $v2, $v3, $v4) = split(/,/);
# ....
我读了这个blog post,它表明该语法是有效的(并且我相信是有效的)。但是我不明白的是,Expression
缺失后到底是什么被分割了
答案 0 :(得分:3)
split documentation解释了省略每个参数时的情况。
如果仅给出PATTERN,则EXPR默认为
$_
。
答案 1 :(得分:3)
此代码使用许多快捷方式。等效于此:
while(defined($_ = readline(ARGV))) {
chomp($_);
my($v1, $v2, $v3, $v4) = split(/,/, $_, 5);