トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS   ログイン


[[Perl]] | [[Sjis.pm]] | [[UTF2.pm]] | [[jacode.pl]] | [[Char.pm]]
[[Perl]] | [[install_japerl_Framework.bat]] | [[japerl.bat]] | [[jacode.pl]] | [[Char.pm]] | [[Perl-Exactly]] | [[Strict-Perl]] | [[Modern-Open]] | [[Fake-Our]]  | [[Fake-Encode]] | [[Stable-Module]] | [[SjisTk]] | [[DBD-mysqlPPrawSjis]] | [[DBD-PgPPSjis]] | [[Sjis.pm]] | [[EUCJP.pm]] | [[UTF2.pm]]

&size(28){''404 Flag Not Found''};

&color(red){    ''The UTF8 flag was not found -- unless you decoded that of multibyte code using this software.''};
&color(red){    ''The UTF8 flag was not found -- unless you need it.''};

&size(24){''use EUCJP;''};&size(20){'' (EUCJPソフトウェア)''};

EUCJPソフトウェアはEUC-JPを扱うための Perl プログラムです。Sjisソフトウェアと同様のコンセプトによって Perl のマルチバイト文字対応を行います。つまり、外部コードであるEUC-JPそのものを内部コードとして処理します。

Sjisソフトウェアと異なる点は大きく2つあります。
&size(20){''インストール方法''};

以下のファイルを @INC に含まれるディレクトリ、例えば C:\Perl\site\lib にコピーするとインストール完了です。

-[[EUCJP.pm 1.08 (ソースコードフィルタ):http://cpansearch.perl.org/src/INA/Char-EUCJP-1.08/EUCJP.pm]]
-[[Eeucjp.pm 1.08 (ランタイムルーチン):http://cpansearch.perl.org/src/INA/Char-EUCJP-1.08/Eeucjp.pm]]

&size(20){''使い方''};

スクリプト先頭に以下の記述をします。そうするとスクリプトをEUC-JPで記述でき、Perlの動作もEUC-JPによる日本語文字列に対応するようになります。

 
 use EUCJP;
 
&size(20){''EUCJPソフトウェアの概要''};

EUCJPソフトウェアはSjisソフトウェアをもとにして以下の2つの変更を加えて作成しています。

-マルチバイト文字の先行するバイト列
--Sjisの場合 [\x81-\x9F\xE0-\xFC] のところ (?:[\x8F]?[\xA1-\xFE]|[\x8E\xA1-\xFE]) になります
--Sjisの場合 [\x81-\x9F\xE0-\xFC] のところ (?:[\x8F][\xA1-\xFE]|[\x8E\xA1-\xFE]) になります
-マルチバイト文字の2バイト目以降の扱い
--2バイト目が ASCII の値と重ならないため、エスケープが不要です
--2バイト目に英字が出現しないため uc(), lc() 関数はそのまま利用できます
--2バイト目以降が ASCII の値と重ならずメタ文字が出現しないため、エスケープが不要です
--2バイト目以降に英字が出現しないため uc(), lc() 関数はそのまま利用できます

&size(20){''主な特徴''};

Perl関連の成功したソフトウェアからいいところをとってきました。

-互換性: Perl4→Perl5 のように追加によって新機能を実現している
--文字列の長さや文字の位置を示す単位は今までどおりオクテット
--文字単位の関数は別の名前で新設(EUCJP::length, EUCJP::substr など)
-制御性: JPerl のようにプログラマの意図を汲む
--バイト列だと思えばバイト列に、文字列だと思えば文字列になる
--EUC-JPそのままの値を扱うことができる
--UTF8フラグがない
--オブジェクト指向は導入していない(これは利点!!)
-可搬性: jcode.pl のように単体のPerlスクリプト
--他に必要なモジュールがない
--インタプリタ本体、XS などのバイナリファイルに依存しない
--perl5.005で実行することができる
--それなのにperl5.005のXSに束縛されない
--perl5.005上で使う場合でも一部perl5.6風な記述ができる
--MacOS上でMacJPerlの機能を実現する
-欠点:残念ながら...
--Latin-1を扱えない(UTF8フラグをなくした代償として)
--perl5.00503でも実行することができる
--それなのにperl5.00503のXSに束縛されない

&size(20){''インストール方法''};

以下のファイルを C:\Perl\site\lib にコピーするとインストール完了です
-[[EUCJP.pm 0.71 (ソースコードフィルタ):http://cpansearch.perl.org/src/INA/EUCJP-0.71/EUCJP.pm]]
-[[Eeucjp.pm 0.71 (ランタイムルーチン):http://cpansearch.perl.org/src/INA/EUCJP-0.71/Eeucjp.pm]]

&size(20){''関連情報''};
-[[jacode.pl]] 文字コードの変換には jacode.pl が便利です
-[[Char.pm]] 文字コードに煩わされずに文字を扱いたいときに便利です
-[[Ruby on Perl(s):http://www.rubyist.net/~matz/slides/yapc2006/]]
-[[UTF-8フラグの立て方・降ろし方:http://www.rakunet.org/tsnet/TSabc/18/546.html]]
-[[Perl::utf8.pm:http://blonde.ddo.jp/object/glob.pl/2010/11/18/21/17/12]]
-[[日本語 EUC の定義:http://euc.jp/i18n/euc-jp.txt]]
-[[いろんな日本語EUCについてのまとめ:http://d.hatena.ne.jp/NAOI/20110331/1301558971]]
-[[日本語EUCの歴史:http://d.hatena.ne.jp/nurse/20090308/1236517235]]
-[[jcode.plのjcode::tr()のかわりを探しています。:http://okwave.jp/qa/q8507896.html]] EUCJP.pm の出番ですネ!