[已解决]数组中保存的对象不能使用?

[已解决]数组中保存的对象不能使用?

目前在学习网络编程。声明了一个数组@clients,每当有客户端连接时,保存连接后的对象。
$cli=$lsn->accept;
push @clients,$cli;
然后用$cli进行收发。
$cli->send($msg,0);
这样是可以的。

当第二个客户端到来时,我想同时给第一个客户端发一个消息
foreach my $clitmp (@clients){
    $clitmp->send($msg,0);
}

提示出错。Can't locate object method "send" via package "IO::Socket::INET=GLOB(0x81fe784)"

这是怎么回事呢?是变量作用域的原因么?[

我尝试了使用$fn=$cli->fileno;作为句柄,然后用send($fn,$msg,0)进行发送,还是有错误。句柄没有打开。
使用IO::Select的handles方法得到的句柄,可以做通讯。
为什么数组和哈希表中的对象句柄不行呢?