foreach my log (@blog)

Perl ネタ

【Perl おぼえがき】ハッシュの並び替えを扱ってみる。





とりあえずハッシュがどんなものか分かったところですが、keys 関数や value 関数で取り出すときに配列の順序がバラバラになってしまいます。

ハッシュ

そこで、ハッシュを値でソートしたいです。



#!/usr/bin/perl

use strict;
use warnings;

my %item = (a => '1', b => '2', c => '3', d => '4');
for (sort {$item{$a} <=> $item{$b}} keys %item) {
print "$_, $item{$_}\n";
}

出力結果
a, 1
b, 2
c, 3
d, 4




キーでソートするだけなら sort keys %item とすれば良いのですが、値でソートしたかったので sort { $item{$a} <=> $item{$b}} keys %item としております。

$a と $b を入れ替えれば降順にすることも可能です。







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

PAGE TOP ▲