我不敢相信这个序列:
my $line;
$rc = getline($line); # read next line and store in $line
我一直以为Perl参数是按值传递的,因此每当我需要传递一个大结构或传递一个要更新的变量时,我都会传递引用。
然而,在阅读perldoc中的细节后,我了解到@_由在参数列表中提到的变量的别名组成。在读取下一段数据后,getline()使用$_[0] = $data;将其返回,这将$data直接存储到$line中。
我喜欢这种方式-就像在C++中按引用传递。但是,我没有找到一种方法来为$_[0]分配更有意义的名称。有吗?