可以用散列来构成我们在C中常见的多维数组,如下:
#!/usr/bin/perl
#%num=(1=>[1..5],2=>[6..10],3=>[11..15],4=>[16..20],5=>[21..25]);这是一种构建方法,也可以用下面的方法:
@num{1}=[1..5];
@num{2}=[6..10];
@num{3}=[11..15];
@num{3}=[16..20];
@num{4}=[21..25];
foreach $key (sort keys(%num))
{ $i=0;
while($i<5)
{
printf "%2d", $num{$key}[$i];
print ' ';
$i++;}
print "/n";
}
运行结果如下:
1 2 3 4 5
6 7 8 9 10
16 17 18 19 20
21 22 23 24 25
需要注意的是,赋给某一key值的序列要用[ ]括起,不能用( )。
而对于结构体很容易用散列来模拟:
如对于下面的结构体:
struct{
int field1;
float field2;
char filed3;
}mystruct;
用散列来模拟,可以定义如下的散列:
%mystruct=("field1","","field2","","field3","");