ホームディレクトリを多数のマシンが共有するような環境で使う場合のTip。
5.8系では先頭に use encoding 'euc-jp'としてencodingパッケージにより、スクリプトファイルの自体のエンコーディングが指定ができるが(というか指定しないとutf8のファイルだと思われてしまう)、perlバージョンがjperlの場合use encodingするとエラーになる(5.8以前なのでこのパッケージを持っていない)。これを回避しつつスクリプトを共有する方法。
なお、open.pmの部分は、open関数や通常の関数で開くファイルの漢字コードをeuc-jpに指定する方法。(たぶん、こっちのほうが情報として有益と思われる)
参考:http://namazu.org/~tsuchiya/perl/perl-5.8.html
5.8系では先頭に use encoding 'euc-jp'としてencodingパッケージにより、スクリプトファイルの自体のエンコーディングが指定ができるが(というか指定しないとutf8のファイルだと思われてしまう)、perlバージョンがjperlの場合use encodingするとエラーになる(5.8以前なのでこのパッケージを持っていない)。これを回避しつつスクリプトを共有する方法。
なお、open.pmの部分は、open関数や通常の関数で開くファイルの漢字コードをeuc-jpに指定する方法。(たぶん、こっちのほうが情報として有益と思われる)
use English qw/ $PERL_VERSION /; BEGIN { if( $PERL_VERSION >= 5.008 ){ #perl 5.8 require encoding; encoding->import( "euc-jp" ); require "open.pm"; open::import(IO, ":encoding(euc-jp)"); } elsif( split( //, "字" ) == 1 ){ #perl vesrion 5? require I18N::Japanese; I18N::Japanese->import(); } else { #jperl # die "Can't Handling Japanese char"; } }
参考:http://namazu.org/~tsuchiya/perl/perl-5.8.html