目次

perlのソート

sortの比較部分上書き方法をメモっておく。
下のサンプルは、通常辞書式の組み込み関数sortを、 数値順にsortする場合のもの。

サンプルコード

#!/usr/bin/perl
use strict;
my @num = ( "1", "2", "11");

foreach ( sort(@num) ) {
	print "$_\n";
}
foreach ( sort logic(@num) ) {
	print "$_\n";
}

# ここの戻りを判定するときに、
# 返したいように作ればいい
sub logic {
	# $a, $bが比較する変数
	if ( $a > $b ) {
		return 1;
	} elsif ( $a == $b ) {
		return 0;
	} else {
		# as $a < $b
		return -1;
	}
}

Last-modified: 2006-03-22 14:53:44