Show
Ignore:
Timestamp:
12/23/07 04:07:23 (5 years ago)
Author:
kawa0117
Message:

addrajax 2.11 @ CodeRepos?

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/javascript/ajaxzip2/work/csv2jsonzip.pl

    r3459 r3463  
    11#!/usr/bin/perl 
    22# ---------------------------------------------------------------- # 
    3 #   郵便番号一覧 CSV ファイルを JSON ファイルに変換 
     3#   AjaxZip 2.0 - Ajax郵便番号→住所自動入力フォーム(CGI不要版)用 
     4#   郵便番号一覧 CSV ファイルを JSON 形式に変換するスクリプト 
    45#   http://www.kawa.net/works/ajax/ajaxzip2/ajaxzip2.html 
    56#   (c) 2001-2007 Kawasaki Yusuke. All rights reserved. 
     
    1011    use lib qw( lib ); 
    1112    use JSON;                       # JSON.pm がデフォルトです 
    12     # use JSON::Syck;               # JSON::Syckがあれば利用可能です 
    13 # ---------------------------------------------------------------- # 
     13#   use JSON::Syck;                 # JSON::Syckがあれば利用可能です 
     14# ---------------------------------------------------------------- # 
     15    my $VERSION   = '2.11'; 
    1416    my $CSV_ENC   = 'CP932';        # CSVファイルのエンコーディング 
     17    my $JSON_ENC  = 'utf8';         # JSONファイルのエンコーディング 
    1518    my $DISP_ENC  = 'utf8';         # 表示用のエンコーディング 
    1619    my $CSV_FILE  = 'ken_all.csv';  # 入力元CSVファイル名(デフォルト) 
     
    174177    my $c    = 0; 
    175178 
     179    my $use_syck = $JSON::Syck::VERSION; 
     180    my $use_json = $JSON::VERSION unless $use_syck; 
     181    my $new_json = (( $use_json =~ /^([\d\.]+)/ )[0] >= 2.0 ) if $use_json; 
     182 
     183    print STDERR "module: \tJSON.pm ($use_json)\n" if $use_json; 
     184    print STDERR "module: \tJSON::Syck ($use_syck)\n" if $use_syck; 
    176185    print STDERR "json:   \t$JSON_BASE\n"; 
     186 
    177187    foreach my $zip3 ( sort keys %$out ) { 
    178188        # JSONフォーマットでダンプする 
    179189        my $data = $out->{$zip3}; 
    180         my $dump = $JSON::Syck::VERSION ? JSON::Syck::Dump($data) : objToJson($data); 
     190        my $dump = $use_syck ? JSON::Syck::Dump($data) :  
     191                   $new_json ? to_json($data) : objToJson($data); 
    181192 
    182193        # JSONファイル名の決定 
     
    189200        # JSONファイルに書き出す 
    190201        open( JSON, "> $jsonfile" ) or die "$! - $jsonfile\n"; 
     202        $dump = Encode::encode( $JSON_ENC, $dump ) if $new_json; 
    191203        print JSON $dump, "\n"; 
    192204        close( JSON );