■ハッシュ関数

keys関数
ハッシュに含まれている全てのキーをリストします。
ハッシュを配列コンテキストで展開して得られえるリストの奇数版目の要素をその順番の通り返す。
ハッシュに要素が存在しない場合、keysは空のリストを返す

values関数
ハッシュに含まれている値を全て返す。
keys関数によって返されるキーの順番どおりに並べたリストを返す。

each関数
キーと値の対を要素2つのリストに返します。
この関数は評価するたびに次のキーを返す。

delete関数
ハッシュから要素を削除する場合はdelete関数を使用します。
delete関数のオペランドにはハッシュの値が参照するときと同様ハッシュへの参照を指定します。

#!/bin/perl

%hash = qw(
	aaa AAA
	bbb BBB
	ccc CCC
	ddd DDD );

@key_lst = keys(%hash);
array_print(@key_lst);

@values_lst = values(%hash);
array_print(@values_lst);

delete $hash{"ccc"};

while (($small, $large) = each(%hash)) {
	print "$small: $large\n";
}

exit(0);

sub array_print {
	my @lst = @_;
	while (@lst) {
		print "$lst[0] ";
		shift(@lst);
	}
	print "\n";
}

実行結果

bbb aaa ccc ddd
BBB AAA CCC DDD
bbb: BBB
aaa: AAA
ddd: DDD