目次
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;
}
}
|