てぃーだブログ › 作る人 (つくるんちゅ)日記 › CGI FLASH JavaScript › 「 Perl 」 数字を3桁ごとにカンマで区切る



2012年11月28日

「 Perl 」 数字を3桁ごとにカンマで区切る

今回はWebの方の、マニアックネタ。



上の画像は、このブログで提供している、携帯用「キリ番カウンター」。 (てぃーだブログ専用)

古い携帯からブログを見ると、閲覧数カウンターが見れないようなので、2年ほど前に作りました。
 ⇒ 携帯用「キリ番カウンターCGI」公開!

画像に変換しているので、現在のトータル・アクセス数や、キリ番までの数値がひと目で判ります。


ところが、さっきふと見ると、数字がおかしくなってました。

「 Perl 」 数字を3桁ごとにカンマで区切る「 Perl 」 数字を3桁ごとにカンマで区切るこのブログが、トータル2アクセス(左)。
なおす人ブログが、32アクセス(右)。

あきらかに故障! こんな恥ずかしいプログラムを、今まで公開してたなんて‥ orz。


「 Perl 」 数字を3桁ごとにカンマで区切る
と、数字を見てたら気が付きました。 昔は無かった「,」が、オリジナルのカウンターに含まれています。
そのため、これは「,」の前までの数字しか読めてないな、 と判りました。

てぃーだブログのシステムは、今でも少しづつ進化しているんですね。


さっそく、昔書いたPerlのスクリプトを開いて、書き直します。

一番最初に「,」を取ってから処理を開始するようにして
$counter =~ s/\,//g;

後から3桁ごとに数字をカンマで区切ります。
$total=~s/(\d{1,3})(?=(?:\d{3})+(?!\d))/$1,/g;
または、while ($total =~ s/^([-+]?\d+)(\d{3})/$1,$2/) { } とか、いろいろ‥。


今ではマニアックになった感のある古い言語のPerlですが、枯れた技術なので、ネット上で目的のソースコードがカンタンに見つかるのが利点。


無事にキリ番カウンターの修理ができました。
利用はご自由に!


 ※詳細は ⇒ 携帯用「キリ番カウンターCGI」公開!


PS:他にも、このブログの表示、公開しているプログラムが変な場合、連絡頂けると嬉しいです。




同じカテゴリー(CGI FLASH JavaScript)の記事



※このブログではブログの持ち主が承認した後、コメントが反映される設定です。
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。

※記事内容に言及無いコメントは、コメントスパムと判断して削除する場合があります。