perlでハッシュをソートする方法—キー・値の順序指定と実践的な使い方
作成日:2010.07.20
perlで連想配列(ハッシュ)をキーや値でソートする方法をまとめました。コードを見ながら、シンプルなキーソートからカスタマイズ可能な値ソートまで、用途に応じたソート方法を解説します。
error この記事は最終更新日から14年以上が経過しています。
perl でハッシュ(連想配列)のソートを行なう処理、今まで何度も何度も何度も何度も(ry 書いてきたのに、毎回忘れるんですよね。
どんだけ鳥頭なんだ、と。
というわけで、忘れても困らないようにここに書いておきます。
ハッシュのキーでソートする
ハッシュのキーでソートするのは簡単です。
sort keys %hash;
これでソートされたキーのリストが返ります。
foreach を使ってキー順にハッシュを処理したいなら、
foreach $key (sort keys %hash){
print qq|Key: $key\n|;
print qq|Value: $hash{$key}\n|;
}
こんな感じになります。
ハッシュの値でソートする
ハッシュの値でソートする場合は、以下のようになります。
sort {$hash{$a} <=> $hash{$b}} keys %hash;
これで、値でソートされたハッシュのキーのリストが返ります。
foreach を使って値の順にハッシュを処理したい場合は、
foreach $key (sort {$hash{$a} <=> $hash{$b}} keys %hash){
print qq|Key: $key\n|;
print qq|Value: $hash{$key}\n|;
}
こんな感じです。

奈良市を拠点に、25年以上の経験を持つフリーランスWebエンジニア、阿部辰也です。
これまで、ECサイトのバックエンド開発や業務効率化システム、公共施設の予約システムなど、多彩なプロジェクトを手がけ、企業様や制作会社様のパートナーとして信頼を築いてまいりました。
【制作会社・企業様向けサポート】
Webシステムの開発やサイト改善でお困りの際は、どうぞお気軽にご相談ください。小さな疑問から大規模プロジェクトまで、最適なご提案を心を込めてさせていただきます。
ぜひ、プロフィールやWeb制作会社様向け業務案内、一般企業様向け業務案内もご覧くださいね。
Movable Typeプラグイン入門:MT::Author で実現するロール付与の手法
2025.03.26
本記事では、Movable Type のプラグイン開発において、MT::Author オブジェクトを利用したユーザーへのロール付与手法を詳しく解説します。具体的なコード例とともに、ユーザー、ブログ、ロールの各オブジェクトの取得方法や、add_role メソッドを活用したロール付与処理の流れを紹介。実務に直結する実装ポイントを分かりやすく解説しています。
Movable Typeプラグイン入門:MT::Authorを活用した新規ユーザー作成の実例解説
2025.03.21
本記事では、Movable Typeプラグインの実装において、MT::Authorオブジェクトを活用したユーザーの新規作成処理の具体例を解説します。コードサンプルを通して、ユーザーの存在確認から新規作成、各種プロパティの設定手順やログ出力まで、実践的なポイントを詳述しています。
Movable Typeプラグイン開発入門:第七回 Transformerプラグインで管理画面UIをカスタマイズする
2025.03.19
この記事では、Movable Type 管理画面の見た目を変更するために、Transformerプラグインで設定フォームをカスタマイズする方法を解説しています。具体的な文字列置換の実装例と、実運用時に考慮すべきポイントをわかりやすくまとめています。
Movable Typeプラグイン開発入門:第六回 ローカライゼーションの実装方法
2025.03.13
第六回では、Movable Typeプラグインのローカライゼーションに焦点を当て、多言語対応の具体的な手法を紹介します。多言語対応の実装方法を学び、プラグインの利用者層を広げましょう。