Perl では配列は、@array = ('aaa', 'bbb', 'ccc') のように書くが、「配列の配列」のデータ構造を表現するにはどうしたらいいのだうろう?
以下にサンプルコードを示す。$songs という配列の先頭は「$」となっている。その内側も配列なのに (...) ではなくて [...] になっていることに注目してほしい。これは配列の配列を参照で表現するためである。アクセス方法は foreach のところを参考にしてほしい。
#!/usr/bin/perl
my $songs = [
[
'S3T-party_people.mp3' ,
'3MN-ill_do_my_best.mp3',
'CU2-gamusha_life.mp3' ,
'A3N-kaerimichi.mp3' ,
],
[
'4YK-tokyo_zekkei.mp3' ,
'BM3-karate.mp3' ,
'DE9-ashita_chikyuu_ga_konogoma.mp3',
'R3-bright_fantasy.mp3' ,
],
[
'IR3-realize.mp3' ,
'MCZ-hakkin_no_yoake.mp3' ,
'8AS-itsu_ka_mita_niji_no_sono_shita.mp3',
'WG3-shoujo_koukyoukyoku.mp3' ,
],
];
my $song_list = $songs->[1]; # 2番目の配列のセットにアクセス
foreach my $song (@$song_list) { # $song_list の前に @ をつける。
print "$song\n";
}
1;
出力結果は以下の通り。
4YK-tokyo_zekkei.mp3
BM3-karate.mp3
DE9-ashita_chikyuu_ga_konogoma.mp3
R3-bright_fantasy.mp3