问个perl语法问题
初学perl,在网上下了一些perl程序看。在看下面这段perl代码时感觉有问题(但完整程序运行很好):
sub do_CLOSE
{
my($self) = @_;
warn join ("\t", timetag(), 'GOVERNOR', 'close'), "\n";
print "WILL\tCLOSE\n";
my $wait = 0;
require User::AppServer;#User::AppServer是自己写的一个包
foreach my $app (find User::AppServer)#find是自己写的一个方法,返回一个数组
{
$wait++;
next if $app->State eq 'CLOSE';
whisper $app ("BYE\n");#whisper,after,disconnect和interactive也都是自己写的方法
$app->after (5, sub {
$_[0]->disconnect if $_[0]->interactive
});#问题在这里,$_[0]表示什么?
}
$main::InShutdown = 1;
$main::Auth->on_AppClose (undef) unless $wait > 0;
}
不是当foreach (@XXX)时,才有$_变量的吗?但是上面已经有my $app了啊,求教