
No.1ベストアンサー
- 回答日時:
#こんな感じでどうでしょう
use encoding 'shiftjis';
@data=("いちご","リンゴ","サクランボ","みかん");
foreach $x (@data){
$data{$x}=&toKana($x);
}
@data=sort { $data{$a} cmp $data{$b} } keys %data;
sub toKana($){
my $str = shift;
$str =~ tr/ぁ-ん/ァ-ン/;
return $str;
}
No.2
- 回答日時:
ひらがな、かたかな、どちらかに変換した文字を先頭においてからソートしては?
ShiftJISであればですが、以下のように。
#!Perl
use ShiftJIS::String;
@kana_list = ('いちご', 'みかん', 'サクランボ', 'リンゴ');
print "1st state:\n", join("\n", @kana_list), "\n\n";
for (@kana_list) {
my $tmp = $_;
ShiftJIS::String::strtr(\$tmp, 'ぁ-ん', 'ァ-ン', 'o');
$_ = $tmp . "\t" . $_;
}
print "2nd state:\n", join("\n", @kana_list), "\n\n";
@kana_list = sort @kana_list;
print "3nd state:\n", join("\n", @kana_list), "\n\n";
$_ = (split(/\t/, $_))[1] for @kana_list;
print "4th state:\n", join("\n", @kana_list), "\n\n";
__END__
D:\@ai\@Perl\app>KANA_SORT.pl
1st state:
いちご
みかん
サクランボ
リンゴ
2nd state:
イチゴ いちご
ミカン みかん
サクランボ サクランボ
リンゴ リンゴ
3nd state:
イチゴ いちご
サクランボ サクランボ
ミカン みかん
リンゴ リンゴ
4th state:
いちご
サクランボ
みかん
リンゴ
D:\@ai\@Perl\app>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C#でのswitch文
-
Excel VBA グラフ作成のとき...
-
printfの%eで指数部分の桁数を...
-
sort関数でひらがなとカタカナ...
-
pythonでDBのカラム名で取得し...
-
【Excel VBA】10進数を2進数に...
-
UTF-8で5~6バイトになる文字コ...
-
CGIを勉強しています。¥n(改...
-
10Mバイトて文字数に すると何...
-
改行コードがそのまま表示され...
-
COBOLのCOMP形式について
-
DataGridViewの特定列に入力さ...
-
TCP/IP通信の送信データについて
-
char str[256]の256の意味は?
-
64bit対応
-
C++ Builderで文字列をバイトに...
-
バイナリとBCDコード
-
URLは最高何文字まで可能なので...
-
ピクセル,dpiから容量(バイト...
-
バイト境界とは
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
printfの%eで指数部分の桁数を...
-
stable diffusionのエラー
-
【Excel VBA】10進数を2進数に...
-
ポインター引数の関数でコンパ...
-
matlabでのRRI検出
-
C#でのswitch文
-
int型(2バイト)データの分割
-
C言語 ファイル内のデータと入...
-
'dataType' 引数を Null にする...
-
RegQueryValueExでの2バイト文字
-
iアプリ jamファイルの動的な出力
-
[error] [client ---- ] Argument
-
EOM間にperl文を作成したい
-
Cプログラムがどうしても動きま...
-
平滑化フィルタ
-
変数の書き方
-
任意な項目のソート
-
hiddenを使ったセッション
-
機械受注は?
-
チェックボックスの値だけが受...
おすすめ情報