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

我想阅读我的插座并对它们做一个“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]>;
}

它将告诉我在第二个$ligne =< $socket1 [0]>模式匹配(m //)中使用未初始化的值$ligne;

我不明白

解决方法

尖括号也用于glob(),

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

所以如果你没有使用普通标量作为套接字,你可能会更明确地使用readline(),

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

相关文章

1. 如何去重 #!/usr/bin/perl use strict; my %hash; while(...
最近写了一个perl脚本,实现的功能是将表格中其中两列的数据...
表的数据字典格式如下:如果手动写MySQL建表语句,确认麻烦,...
巡检类工作经常会出具日报,最近在原有日报的基础上又新增了...
在实际生产环境中,常常需要从后台日志中截取报文,报文的形...
最近写的一个perl程序,通过关键词匹配统计其出现的频率,让...