arrays - 在 perl 中使用 <$socket[i]> 读取数组中的套接字

标签 arrays perl sockets

我想读取我的套接字并对它们执行“getline”。

my @socket1;
$socket1[0] = IO::Socket::INET->new(
    Type     => SOCK_STREAM,
    PeerAddr => "127.0.0.1",
    Proto    => "tcp",
    PeerPort => $dbase_param{camera_stream}
) or die "Cannot open socket on port " . $dbase_param{camera_stream} . ".\n";

print { $socket1[0] } "\n";
my $ligne = <$socket1[0]>;

while ( !( $ligne =~ /Content-Length:/ ) ) {
    $ligne = <$socket1[0]>;
}

它会告诉我Use of uninitialized value $ligne in pattern match (m//)第二个$ligne = <$socket1[0]>;

我不明白wy

最佳答案

尖括号也用于 glob(),

perl -MO=Deparse -e '$ligne = <$socket1[0]>;'
use File::Glob ();
$ligne = glob($socket1[0]);

因此,如果您不使用普通标量作为套接字,则可以使用 readline() 更加明确。 ,

$ligne = readline($socket1[0]);

关于arrays - 在 perl 中使用 <$socket[i]> 读取数组中的套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26276400/

相关文章:

java - 在 Java 中调整数组大小同时保留当前元素?

计算未知类型数组的元素

Perl:在这种特殊情况下,哈希不允许使用字母数字键

perl - 在 perl 5.8.8 中模拟反引号运算符

javascript - "var links = [].slice.apply(document.getElementsByTagName(' a'));"真的是做什么的?

java - 如何限制数组中的打印次数?

perl - 如何在我的 Perl 模块测试中检查网络可用性?

java - Java:在运行其他进程时从套接字监听

java - 多次写入 Java 套接字失败

c++ - 绑定(bind)套接字失败,errno 88