arrays – Perl:创建已知大小的数组

前端之家收集整理的这篇文章主要介绍了arrays – Perl:创建已知大小的数组前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我必须存储使用Parallel :: ForkManager运行的请求中的数据.
但它不按顺序,我的意思是,我轮询了一个交换机的所有端口,但其中一些回答比其他端口更快.所以,我不知道如何保存它,以后再显示它.

我能这样做吗?

my @array = ();
$array[10] = "i am a string corresponding to port 10"
$array[2] = "the one for the port 2"
...
print @array;

或者我应该使用带有端口数的%hash作为键,但它似乎不是最好的.
谢谢.

解决方法

你可以这样做:

my @array = ();
$array[10] = "i am a string corresponding to port 10"
$array[2] = "the one for the port 2"
print @array;

但是如果某些端口没有响应,则在阵列的插槽中将有未填充的undef条目.如你所说,使用哈希会更干净:

my %hash;
$hash{10} = "I am port 10";
$hash{2} = "I am port 2";

foreach my $key (keys %hash) {
   print "$key: $hash{$key}\n";
}

猜你在找的Perl相关文章