foreach my log (@blog)

Perl ネタ

【Perl おぼえがき】ハッシュのリファレンスの並び替えを扱ってみる。








ハッシュのリファレンス。



ハッシュのリファレンス



上手く使いこなせばとても便利に使えそうです。

ただ、ハッシュと同様に順序がバラバラになってしまいます。

そこで、ハッシュのリファレンスを値でソートしたいです。



#!/usr/bin/perl

use strict;
use warnings;

my $hash_ref = {a => '1', b => '2', c => '3'};
for (keys %$hash_ref) {
print "$_ => $hash_ref->{$_}\n";
}

---
出力結果
c => 3
a => 1
b => 2




これだと取り出す順序がバラバラ。



キーでソート



for (sort keys %$hasn_ref) {
print "$_ => $hasn_ref->{$_}\n";
}




値でソート (降順)



for (sort {$hash_ref->{$b} <=> $hash_ref->{$a}} keys %$hash_ref) {
print "$_ => $hasn_ref->{$_}\n";
}


$b と $a を入れ替えれば昇順にも出来ます。



この辺の使い方はハッシュの場合と同じです。









同じカテゴリー(Perl ネタ)の記事
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。
TI-DA
てぃーだブログ
プロフィール
chinji
chinji

PAGE TOP ▲