コード溜め

備忘録的コンピュータ日記

perl 5.8とjperlで同一の日本語用スクリプトを使いまわす

2005-04-10 17:14:56 | perl
ホームディレクトリを多数のマシンが共有するような環境で使う場合のTip。
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

1 コメント

コメント日が  古い順  |   新しい順
Yet Another JPerl (ina)
2010-04-22 14:00:05
JPerl用スクリプトを移植するのに便利な
EUCJP ソフトウェアを用意しました。

このシリーズとしてシフトJIS版もあります。
ttp://search.cpan.org/dist/Sjis/

perl 5.8とjperlで同一の日本語用スクリプト
を使いまわすのに便利です。

コメントを投稿