Perlで2次元配列の記述をしたサンプルコードを以下に記します。
$ perl -v This is perl 5, version 14, subversion 2 (v5.14.2) built for i686-linux-gnu-thread-multi-64int (with 57 registered patches, see perl -V for more detail) <snip>
$ lsb_release -d Description: Ubuntu 12.04.4 LTS
リファレンスの配列と配列の2種類のサンプルコードを以下に記します。
use strict; use warnings;
my $ary1 = [
["shinagawa-ku", "taro", 20],
["minato-ku", "hanako", 30],
["kouto-ku", "shinji", 10],
];
my @ary2 = (
["SHINAGAWA-KU", "TARO", 20],
["MINATO-KU", "HANAKO", 30],
["KOTO-KU", "SHINJI", 10],
);
my ($i, $j);
# target = $ary1
print '-- $ary1 --' . "\n";
for ($i = 0; $i < 3; $i++) {
for ($j = 0; $j < 3; $j++) {
print "i=$i, j=$j : " . $ary1->[$i]->[$j] . "\n";
}
}
# target = @ary2
print '-- @ary2 --' . "\n";
for ($i = 0; $i < 3; $i++) {
for ($j = 0; $j < 3; $j++) {
print "i=$i, j=$j : " . $ary2[$i][$j] . "\n";
}
}
配列の配列の記述方法2種類と2種類の要素へのアクセス方法を記してあります。
上記のサンプルコードを実行した時の出力は以下の通りです。
-- $ary1 -- i=0, j=0 : shinagawa-ku i=0, j=1 : taro i=0, j=2 : 20 i=1, j=0 : minato-ku i=1, j=1 : hanako i=1, j=2 : 30 i=2, j=0 : kouto-ku i=2, j=1 : shinji i=2, j=2 : 10 -- @ary2 -- i=0, j=0 : SHINAGAWA-KU i=0, j=1 : TARO i=0, j=2 : 20 i=1, j=0 : MINATO-KU i=1, j=1 : HANAKO i=1, j=2 : 30 i=2, j=0 : KOTO-KU i=2, j=1 : SHINJI i=2, j=2 : 10
以上、2次元配列についてのサンプルコードでした。