2004年7月20日火曜日

Convert::SciEng

「1k」とか「1M」という文字列を数字として比較しその大きさでソートするプログラムを書く必要があったんですが、そういうことを考える人は他にも絶対いるはずで、となればCPANに便利がモジュールがあるだろうと探してみたら、やっぱりありました。

Convert-SciEng

こんな感じで使えます。

#! /usr/bin/env perl
use strict;
use warnings;
use Convert::SciEng;

my @data = qw(1K 3M 234 5.6G 3.43K);

my $cs = Convert::SciEng->new('SI');
@data = sort { $cs->unfix($b) <=> $cs->unfix($a) } @data;

print join "\n", @data;
print "\n";


結果

5.6G
3M
3.43K
1K
234




0 件のコメント:

コメントを投稿