$_ 是 perl 的内置变量,表示的是当前正在处理的变量。
测试代码:
[Perl] 纯文本查看 复制代码 #!/usr/bin/perl
sub mysubf2 {
foreach (@_) {
print "$_ ";
}
print "\n";
}
while (<STDIN>) {
print "I saw $_";
}
mysubf2(1, 3, 5, 7, 9);
运行输出:./subfun.pl
d
I saw d
q
I saw q
1 3 5 7 9 上面程序中,使用一个 while 循环不断的接收标准从标准输入的内容,如果不明确给出一个要存储输入的变量,那么这些输入的内容被自动填入 $_ 变量中。如上面输出,当输入 q 后,我们接着按下 ctrl + d 组合键,表示结束标准输入,于是接着程序调用 mysubf2() 子程序,该子程序遍历了它的参数列表(参数列表中的参数存储在 @_ 内置变量中)。在每次迭代中,由于我们没有明确给出一个变量来接收这次迭代所得到的参数,所以这些参数会被自动填入到 $_ 中。 |