Perl

配列・ハッシュ・リファレンス

複数のデータをまとめ、検索や集計に使える形へ整理します。

Perl入門の講座一覧

01

配列を操作する

配列は順番のあるデータです。添字は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: 実行する
02

ハッシュでキー検索する

商品マスター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や空文字でも存在する場合があるため、存在確認と真偽値判定を区別します。

03

リファレンスで入れ子にする

配列の配列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点

[]は配列リファレンス、{}はハッシュリファレンスです。データの構造を紙に書いてからコードにすると、->の読み方が分かりやすくなります。

04

練習

商品名・単価・数量をハッシュリファレンスの配列で表し、商品ごとの小計と全体の合計を表示してください。