请教perl 遍历大数组内存激增的问题

2024-11-16 05:35:16
推荐回答(2个)
回答1:

如果你想要得到一个key下有很多array你这么做

Perl多维数组的语句

定义,赋值多维数组:
%hash1=(
key1=>[['a','b','c'],['d','e','f'],['g','h','i']] ,
key2=>[['j','k','l'],['m','n','o'],['p','q','r']]
);

输出:
print $hash1[0][0],"\n"; #结果输出 a
print $hash1[1][1],"\n"; #结果输出 n

定义多维数组:
%hash2=(
key1=>[$ref1,$ref2,$ref3] ,
key2=>[$ref4,$ref5,$ref6]
);

赋值:
$hash2[0][0]='x';
$hash2[0][1]='y';
$hash2[$ref1][2]='z';

输出:
print $hash2[$ref1][0],"\n"; #结果输出 x
print $hash2[$ref5][1],"\n"; # 结果输出 y
print $hash2[0][2],"\n"; #结果输出 z

这能使你清楚写你的代码。

回答2:

Perl != C/C++
==============
use strict;
foreach (0..130_000_000) {
print ($_+1), "\t", "$array1[$_]\t", "$array2[$_]\n";
}