Perl

文字列を文字コードへ変換する – Perl

「文字」を文字コードへ変換するにはord関数を用いれば良いが、「文字列」の場合はどうすれば良いのだろうか?ord関数の使い方を工夫してやれば良い。

単純に1byteずつ置換してやれば良い。この置換時にord関数を用いることになる。
続きを読む

文字列を一文字ずつ分割する(全角半角混合) – Perl

文字列を分解し、1文字ずつ処理を行いたい。全角文字、2バイト文字が含まれるなら、Jcode.pmを用いるのがお手軽だ。「指定バイト数で自動的に改行する」で取り上げた、Jcode.pmの「jfold」メソッドを活用すれば良い。

jfoldは指定文字数分取り出してくれる機能を持つ。ここで“1”を指定しておくだけ。その後の全角・半角のチェックはJocdeが自動的に行ってくれる。混在していてももちろん大丈夫だ。
続きを読む

アルファベットを大文字または小文字に変換する(全角半角混合) – Perl

文字列内のアルファベット(英字)を、大文字または小文字に変換したい。 全角文字、半角文字が一緒になっている場合はJcode.pmを利用すれば良い。

trメソッドを用いて、単純に置換してやれば良い。置換条件に半角文字の指定を加えれば全角・半角の変換が同時に行える。半角英小文字は半角英大文字、全角英小文字は全角英大文字になる。
続きを読む

数字を三桁ずつカンマで区切る – Perl

価格の表示など、3桁毎に数字を区切りたいことがある。このような場合、どういった処理を書けば良いのだろうか? 次のような commify 関数を自分のライブラリに準備しておくとかなり重宝する。
続きを読む