我只是难以置信地看着这个序列:
my $line;
$rc = getline($line); # read next line and store in $line
我一直都明白 Perl 参数是按值传递的,所以每当我需要传递一个大型结构或传递一个要更新的变量时,我都会传递一个 ref。
然而,阅读 perldoc 中的细则,我了解到@_ 是由参数列表中提到的变量的别名组成的。读取下一位数据后,getline()以$_[0] = $data;的形式返回它。,它将$data直接存储到$line中。
我确实喜欢这个——就像在 C++ 中通过引用传递一样。但是,我还没有找到一种方法来为$_[0]分配一个更有意义的名称。有没有?