perl沒有真正的二維數組,所謂的二維數組實際上是把一維數組以引用的方式放到另一個一維數組。數組
二維數組定義 :this
my @array1=([1,2],[3,4],[45,9],[66,-5]); <-----------使用[]表示匿名數組spa
或者scala
my @array2=qw/this is a array/;
my @array3=("another","array");
my @array4=(\@array2,\@array3); <------------使用\@表示引用數組code
二維數組的使用blog
$array1[1][1] 或者$array1[1]->[1]class
$array1[1] 表明數組的地址test
例子:perl
#!/usr/bin/perl -w use strict; my @array1=([1,2],[3,4],[45,9],[66,-5]); print $array1[1][1] ; print $array1[1]->[1]; print $array1[1]; my @array2=qw/this is a array/; my @array3=("another","array"); my @array4=(\@array2,\@array3); my $text="this|is|a|test\nI|love|perl\n"; print "\n=========================================\n"; print $text; print "\n=========================================\n"; sub display { my @temp=@_; for(my $i=0;$i<scalar(@temp);$i++) { for(my $j=0;$j<scalar(@{$temp[$i]});$j++) { print "$temp[$i][$j] \t"; } print "\n"; } } &display(@array1); print "\n---------------------------------\n"; &display(@array4);
結果:引用
D:\perl>perl array.pl
44ARRAY(0x52e1d8) =========================================
this|is|a|test I|love|perl
=========================================
1 2
3 4
45 9
66 -5
---------------------------------
this is a array
another array