配列を操作する
配列は順番のあるデータです。添字は0から始まり、push、pop、shift、unshiftで要素を追加・削除できます。
配列の操作PERL
use strict;
use warnings;
my @tasks = ('読む', '書く');
push @tasks, '実行する';
for my $index (0 .. $#tasks) {
printf "%d: %s\n", $index + 1, $tasks[$index];
}実行結果OUTPUT
1: 読む
2: 書く
3: 実行するハッシュでキー検索する
商品マスターPERL
use strict;
use warnings;
my %prices = (
book => 1200,
pen => 180,
);
for my $name (sort keys %prices) {
print "$name: $prices{$name}円\n";
}実行結果OUTPUT
book: 1200円
pen: 180円exists $prices{$name}でキーの存在を確認できます。値が0や空文字でも存在する場合があるため、存在確認と真偽値判定を区別します。
リファレンスで入れ子にする
配列の配列PERL
use strict;
use warnings;
my $students = [
{ name => 'Aki', score => 84 },
{ name => 'Ren', score => 67 },
];
for my $student (@$students) {
print "$student->{name}: $student->{score}点\n";
}実行結果OUTPUT
Aki: 84点
Ren: 67点[]は配列リファレンス、{}はハッシュリファレンスです。データの構造を紙に書いてからコードにすると、->の読み方が分かりやすくなります。
練習
商品名・単価・数量をハッシュリファレンスの配列で表し、商品ごとの小計と全体の合計を表示してください。