概要
- Unicode 順でのソート。
- ひらがな/カタカナを区別せずにソートするには「Unicode::Collate」でソートする。
ソース
-
sortUnicode.zip
#!/usr/bin/perl # Unicode 順のソート use strict; use warnings; use utf8; use Encode; use POSIX qw(locale_h); use locale; use Unicode::Collate; my $charsetConsole = 'UTF-8'; binmode( STDIN, ":encoding($charsetConsole)" ); binmode( STDOUT, ":encoding($charsetConsole)" ); binmode( STDERR, ":encoding($charsetConsole)" ); my @list = split( //, 'あぁAAアアaはばぱがかぴひび' ); my $locale = "ja_JP.UTF-8"; setlocale( LC_ALL, $locale ); print "locale($locale)\n"; print join( "", sort(@list) ) . "\n"; print "\n"; my $Collator = Unicode::Collate->new(); print "Unicode::Collate\n"; print join( "", $Collator->sort(@list) ) . "\n";
出力
- Cent OS 6, perl v5.10.1
locale(ja_JP.UTF-8) AaアAぁあかがはばぱひびぴア Unicode::Collate aAAぁあアアかがはばぱひびぴ