[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
(DTPtechNote:1030) [perl] 数字の処理
とりあえずこちらにもメモしておく。
リクエストは
◎一桁の時は全角数字に、
◎二桁または三桁の時は半角数字に、
◎四桁以上は漢数字に
#!/usr/bin/perl -w
use utf8;
use open ':utf8';
foreach $i (@ARGV){
open(IN, "$i") || die "can't open $i \n";
open(OUT, ">$i.new")|| die "can't open $i.new \n";
while(<IN>){
#数字はすべて全角数字に
tr/0-9/0-9/;
#4桁以上は漢数字に
s/([0-9]{4,})/($n = $1) =~ tr#0-9#〇一二三四五六七八九#, $n/eg;
#2〜3桁は半角数字に
s/([0-9]{2,3})/($n = $1) =~ tr#0-9#0-9#, $n/eg;
print OUT;
}
close(IN);
close(OUT);
}