『初めてのPerl』第6章 ハッシュ

  • Perlでは、キーと値のペアを格納したデータ構造のことをハッシュ(hash)と呼ぶ
  • ハッシュのキーはユニークな文字列である
  • Perlのハッシュは、要素の順序を保存しない
keys関数とvalues関数(全てのキー/値を取り出す):
#!/usr/bin/env perl
use v5.12;
use warnings;

my %hash = ('a' => 1, 'b' => 2, 'c' => 3);
my @k = keys %hash;
my @v = values %hash;

say "@k"; # a b c (順不同)
say "@v"; # 1 2 3 (順不同)
each関数(ハッシュ全体に繰り返しを行う):
#!/usr/bin/env perl
use v5.12;
use warnings;

my %hash = ('a' => 1, 'b' => 2, 'c' => 3);

while ((my $key, my $value) = each %hash) {
	say "$key => $value";
}
exists関数(あるキーがハッシュの中に存在するか確認):
#!/usr/bin/env perl
use v5.12;
use warnings;

my %books = ('hoge' => 'fuga');

if (exists $books{'hoge'}) {
    say $books{'hoge'};
}
delete関数(ハッシュから指定されたキーを削除):
#!/usr/bin/env perl
use v5.12;
use warnings;

my %hash = ('key' => 'val');
delete $hash{'key'};

if (exists $hash{'key'}) {
    say 'not deleted';
} else {
    say 'deleted';
}