问个perl语法问题

i_noname 2006-03-02 09:59:56
初学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了啊,求教
...全文
86 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xyzxyz1111 2006-03-02
  • 打赏
  • 举报
回复
$_[0]表示@_ 的第一个元素, @_是sub 的参数列表。 @_同$_不是一个咚咚
i_noname 2006-03-02
  • 打赏
  • 举报
回复
啊是这样,明白了:)

37,718

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧