ハッシュ
ハッシュはキーと値を対にした集合で、キーに文字列を使用できます。
・ハッシュ変数(%) 例:%data ← %(英字)(英字/数字/下線)、大/小文字を区別
・ハッシュ値  $data{'key1'},$data{'key2'} ・・・

keys  ハッシュの全キーを取り出す。 例 @key = keys %data;
values ハッシュの全ての値を取り出す。 例 @val = values %data;

下記はハッシュ値の数値の大きい順にキーを並べる場合の例です。
 sort {$data{$b} <=> $data{$a}} keys(%data)
■プログラム (sample12.cgi)
%data = ('B',3,'C',1,'A',2);
@key = keys %data; print "ハッシュキー        :@key<br>";
@val = values %data; print "ハッシュ値          :@val<br>";

print "ハッシュキーのアスキー順:";
foreach (sort keys(%data)) {print "$_:$data{$_} ";}
print "<br>ハッシュ値の数値順    :";
foreach (sort {$data{$b} <=> $data{$a}} keys(%data)) {print "$_:$data{$_} ";}
■実行結果
ハッシュキー        :A B C
ハッシュ値          :2 3 1
ハッシュキーのアスキー順:A:2 B:3 C:1 
ハッシュ値の数値順    :B:3 A:2 C:1


HOME Copyright (C) CGI-design All Rights Reserved.