|
|
encoding プラグマは,Perl-5.6 や Jperl には存在しないので,普通に encoding プラグマを使ったスクリプトを実行しようとすると,以下のようなエラーになります.
Can't locate encoding.pm in @INC. BEGIN failed--compilation aborted at sample.perl line 3.
以下のように,BEGIN ブロックを利用して, Perl のバージョン検査を行ってから require & import を行うようにすると, encoding プラグマの存在しない Perl でも動くスクリプトが書けます.
use English qw/ $PERL_VERSION /; BEGIN { if( $PERL_VERSION > 5.008 ){ require encoding; encoding->import( "euc-jp" ); } }
日本語の正規表現を使っているなどの理由で, Perl-5.8.x または Jperl だけを使いたい場合は以下のように書きます.
use English qw/ $PERL_VERSION /; BEGIN { if( $PERL_VERSION > 5.008 ){ require encoding; encoding->import( "euc-jp" ); } elsif( split( //, "字" ) == 1 ){ require I18N::Japanese; I18N::Japanese->import(); } else { die "Your Perl does not support Japanese characters."; } }
|
■コメント
はじめまして。匝瑳高校理数科平成元年卒、松戸市在住の遠藤正和です。 同窓会のページにリンクされていたので、閲覧しました。 ………すごすぎます。私はコンピュータの言語がまったくわかりません!! Microsoftのアプリケーションに関しては、上級の腕前は持っていますし、5年前には八日市場市立中央小(現匝瑳市立八日市場小)や、昨年には台東区内の数々の小中学校で学生たちを相手に指導した経験がありますが、とにかく言語関係は見ていても頭が混乱しますね。これを生業としているのだから、プログラマーってすごいです。 |
名前: 遠藤 正和 ¦ 04:44, Sunday, Aug 23, 2009 ×
■コメントを書く
|