曲径通幽论坛

标题: 内置变量 $_ [打印本页]

作者: beyes    时间: 2011-9-20 22:11
标题: 内置变量 $_
$_ 是 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() 子程序,该子程序遍历了它的参数列表(参数列表中的参数存储在 @_ 内置变量中)。在每次迭代中,由于我们没有明确给出一个变量来接收这次迭代所得到的参数,所以这些参数会被自动填入到 $_ 中。




欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2