Perl

郵便番号から変換した住所をJavaScriptで取得する

 

Webアプリケーションの申し込み画面等で住所を入力させる場合に、郵便番号から住所を参照させたい時がよくあります。

こんな感じですね

form1.png

 

これをJavaScript(クライアントサイド)とPHP(サーバーサイド)の組合せで作ってみます。

郵便番号のデータは、日本郵便のサイトから取得することができます。

 

ここでは、「読み仮名データの促音・拗音を小書きで表記するもの」の全国版を取得しました。

get_csv.png

 

Perlのchomp

Perlのchompは、文字列の最後の改行コードを削除してくれる関数ですが、ちょっと癖があります。

Perlでテキストファイルの読み込みをする時に次のように使ったりします。


open( IN, "hoge.txt" );
while( <IN> ) {
    chomp;
    print length;
    print "\n";
}
close( IN );

これは単にテキストファイルの内容を読みこんで、各行の長さを表示しているだけです。

各OSで作成したファイルをそのOSで処理する分にはこれで問題ないのですが、例えばWindowsで作成したテキストファイルをMacで処理すると問題が発生します。

Windowsのメモ帳で次の内容のhoge.txtを作成し、


a
bb
ccc

Macで上のスクリプトを動かすと、結果は


2
3
4

と表示されます。期待した長さより1大きな値が表示されてしまいます。

これは、各OS間の改行コードの相違に起因しています。