■ 日本語 PERL 5.005_03 + 日本語パッチ(1999年5月3日版) □ コンパイル環境 OS/2 version 4 : emx 0.9d pgcc-2.91.60 emx 0.9d のRUNTIME環境が必要です。emx0.9cかそれより古いものでは動作しない はずです。 また、gcc は Pentium 対応のものを用いたので、486 CPU では動作は保証され ません。 □ Version [E:\perllib\jsawa@ibm.net]perl -v This is perl, version 5.005_03 built for os2 Copyright 1987-1999, Larry Wall Japanization patch 4 by Yasushi Saito, 1996 Modified by Hirofumi Watanabe, 1996-1999 jperl5.005_03-990503 SJIS version OS/2 port Copyright (c) 1990, 1991, Raymond Chen, Kai Uwe Rommel Version 5 port Copyright (c) 1994-1998, Andreas Kaiser, Ilya Zakharevich Perl may be copied only under the terms of either the Artistic License or the GNU General Public License, which may be found in the Perl 5.0 source kit. Complete documentation for Perl, including FAQ lists, should be found on this system using `man perl' or `perldoc perl'. If you have access to the Internet, point your browser at http://www.perl.com/, the Perl Home Page. このように表示されます。このようにシフトJISがデフォルトになっています。 □ ソース等 1. perl ftp.lab.kdd.co.jp:/pub/lang/perl/CPAN/src/5.0/perl5.005_03.tar.gz 2. 日本語パッチ ftp.lab.kdd.co.jp/pub/lang/perl/CPAN/src/5.0/ jperl/Hirofumi_Watanabe/jperl5.005_03-990503.pat.gz ■ インストール ▼ 5.004代ないしそれより前のヴァージョンの PERL 一式に導入する場合は、 スクリプト以外はすべて削除して、まっさらな状態でインストールした方が いいと思います。 ● 前提 ○ 十分な空き容量のあるHPFS領域が存在する ○ emx 0.9dがインストールされている ○ CPU が Pentium かそれと互換のものである(386, 486は駄目) ○ man, groffシステムがインストールされている > man perlos2 としてマニュアルを読めるととてもらくだと思います。 (必須ではありません) ● メイク時のデフォルトのドライブ・ディレクトリ構成 e:/perllibにperl一式がインストールされ、 g:/emx/bin に make.exe, sed.exeなどの Gnu utilitiesが存在する。 これと異なる構成の場合はいろいろと作業が必要になります。 perl5005_3j.tar.bz2 を解凍すると、ディレクトリperllib以下にファイルが置か れます。 1) どこにインストールするか決定して下さい。 仮に c:/usr/local に導入するとして話を勧めます。 また、emxのユーティリティは f:/emx/binにあると仮定します。 2) c:/usr/localにて > bzip2 -d perl5005_3j.tar.bz2 > tar xvf perl5005_3j.tar dll/*.dll : ☆★☆ これは config.sysのlibpathの通ったとこに perllib/doc/ : 日本語機能の説明など最初に読むべきファイル perllib/lib/ : ライブラリ perllib/man/ : manpage perllib/bin/ ; 実行ファイルやスクリプト このように展開されます。 2) perllib/lib/5.00503/os2/Config.pmの編集 a. "g:/emx/bin" を変更: これは私の環境そのままなので、 ##!g:/emx/bin/sh.exe このようになっているところをすべてチェックして修正して下さい。 b. "e:/perllib" の変更: おなじくこれは私の環境ですので、この文字列を すべてチェックして、修正のこと。 例えば、 prefix='e:/perllib' privlibexp='e:/perllib/lib/5.00503' を prefix='c:/usr/local/perllib' privlibexp='c:/usr/local/perllib/lib/5.00503' などと 3) 環境変数の設定 私がコンパイルした perl.dll では、コマンドラインで > perl -V とするとわかるように、 e:/perllib/lib/5.00502/os2 e:/perllib/lib/5.00502 e:/perllib/lib/site_perl/5.005/os2 e:/perllib/lib/site_perl/5.005   この 4 つのディレクトリが perl のライブラリとして検索されます。   たまたま私と同一の環境ならいいのですが、そうでない場合は設定が   必要です。もしも、前述の過程のごとく c:/usr/localにインストール   したなら、 set PER5LLIB=c:/usr/local/perllib/lib/5.00503/os2; c:/usr/local/perllib/lib/5.00503; c:/usr/local/perllib/lib/site_perl/5.005/os2; c:/usr/local/perllib/lib/site_perl/5.005      注! これはconfig.sysで一行として下さい。 もしも LANG=jp_JP.SJIS などと C 以外に設定してるならば、              set PERL_BADLANG=0 も指定のこと。 4) c:\usr\local\perllib\bin等を config.sysのPATHに追加 5) インストールしたところのperllib/bin/にあるスクリプトの先頭行等が   自分の環境用に合致しているかチェック   例えば、以下のようになっていていいのかを #!e:/perllib/bin/perl eval 'exec e:/perllib/bin/perl -S $0 ${1+"$@"}' 先頭行のみとは限らないので、grepで検索して、修正することが必要と思います。 OS2の*.cmd に変換したものはそのままで使用できます。 6) manpageを用いているなら、MANPATHにインストールしたディレクトリを追加 ■ 使用法  perllib/doc にある文書および、manpageを参照のこと。 ■ マニュアルの作成について c:/usr/local/perllib/lib/Pod等に移動してください。ソースは*.podです。 1. htmlの作成 まとめて作るには、(lsのエイリアスがないならば、".exe"は不要) >ls.exe *.pod | sed -e "s/^\(.*\)\.pod/pod2html \1\.pod\> \1.html/" > makehtml.cmd > makehtml ひとつずつやるには、 > pod2html foo.pod > foo.html 2. manのマニュアル作成(/usr/local/perllib/man/man{1,3}に既に生成) > pod2man foo.pod > foo.1 (3) 3. LaTeXソース > pod2latex foo.pod > foo.tex 4. 日本語 MANPAGEとHTML文書の作成 a. まずは foo.podのキーワードでないところを日本語に訳します。 =head1 DESCRIPTION =item * REGULAR EXPRESSION このように 行頭に"="がある行の英語はそのままに。   日本語manpageは 日本語EUCでないとだめなので、fwe(エディタ)等   で最初からEUCで編集した方がいいと思います。 b. perllib/bin/ にpod2jman.cmdとpod2jhtml.cmdというのがあり ます。両方をエディタでオープンして下さい。その中で、%SEDP%というと ころがあります。これは私が環境変数 SEDP = f:/usr/local/lib/sed と指定し、そこに jman.sed と jhtml.sedを置いているためです。 jsawa@ibm.net/jman.sed and jhtml.sed を適当なところに おいて、%SEDP%の部分を書き換えるか、環境変数 SEDPを設定して下さい。 nkf.exeを用いますので、ない場合はインストールするか、あるいは jman.sedとjhtml.sedを日本語EUCに変換し、それから *.cmdの nkf の部分を削除のこと。 もちろん pod2*.cmdなど使わないでコマンドラインで変換してもよし。 c. 日本語manpageの作成 pod2jman foo.pod > foo.1 として作り、MANPATHの通ったところに置いて下さい。日本語MANPAGEが ない場合は、私のweb pageからゲットしてインストールのこと。 なお、MANPAGEで用いる pager は eucを自動判別しないといかけなので 平松さんが移植された less.exe 等が必要です。 config.sys にて set PAGER=less とすると、確実に manpageで lessが使用されるようになります。 d.日本語HTML文書の作成 pod2jhtml foo.pod > foo.html   私が作った例が jsawa@ibm.net/jperl-j.podです。 これは jperl.podをそのまま訳したもの。上記の *.cmdにより作成されたものが、jperl.1およびjperl.html です。 5. OS/2の INFファイル作成: OS/2のview.exeや PCDOSの view.exeで 閲覧するためのINFファイルの生成には、perllib/bin/pod2ipf.cmd を用います。ipfc.exeも必要なので、OS/2 version 4 付属のボーナス パック CDROM等からインストールしておいて下さい。 ■日本語perl特有の留意点  マニュアルに書いてありますが基本的に重要なところのみ確認の意味で   ☆ 環境変数 LANG=ja_JPなど、"C"でないときにエラーが出るのを抑制 するため には、config.sysで set PERL_BADLANG=0 としておく。 ■ ソースからメイクするには □用意するもの emx/gcc pdksh: sh.exeをパスの通ったところにおく □ ソース(既述) 1.ソースを展開して、最初に日本語パッチをあてるわけですが、t/kanjiなど存 在してないディレクトリを前もって作成してから適用します。 2. Configureの修正: 73行当たりで、 if test -n "$DJGPP"; then trnl='\012' fi trnl='\012' ← この一行を追加!! if test X"$trnl" = X; then cat <&2 3. それからREADME.os2 (man perlos2)にしたがって OS/2のパッチをあてて sh Configure -des -D prefix=f:/perllib などとする。 4. コンパイルとメイク > set LANG=C > make 途中で止まったら、perl*.dllを LIBPATHのディレクトリにコピーしてもう一度、 > make 5. テスト > make test > cd t > perl harness 6. インストール > make install 以上  1999/6/27               沢田石 順 / jsawa@ibm.net               http://www2s.biglobe.ne.jp/~vtgf3mpr/