namazu-ml(avocado)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: perl conference
- From: Kaz SHiMZ <kshimz@xxxxxxxxx>
- Date: Wed, 22 Jul 1998 21:30:29 +0900
- X-ml-name: namazu
- X-mail-count: 00967
清水@住友林業です。
# いやー、patch を良く見てなかった & perl の特殊変数に疎いのがバレバレ
Wed, 22 Jul 1998 19:20:47 +0900 に、
Ken-ichi Hirose <hirose@xxxxxxxxxxxxxxxxxxxx> さんは書きました ;
> >私の配布している mknmz は、OS/2 の特殊機能(外部コマンドプロセッサの
> >呼び出し機能)を経由して perl を起動しているため、$0 の内容をどうい
> >じっても、たぶんシステムには影響ないんですよね。
すんません。 patch の行の後半の $1 を見落としてました (^^;
私 >ところで、mknmz の全体をマジメにトレースしてないので、$0 の内容を変更
私 >する目的がよく理解できないのですが、これ、mknmz の動作がどう変わるの
私 >でしょうか?
>
> これは
>
> if ($LIBDIR !~ /^[A-Z]:/i) {
> #$LIBDIR の先頭部分に a: 等の drive letter の指定が無ければ、
> $0 =~ m#^([A-Z]:)(/|\\)#i;
> #mknmz のおいてある directory の drive letter を取得して、
> $LIBDIR = $1 . $LIBDIR;
> #$LIBDIR の最初にくっつける。
> }
>
> と言う動作ですので、$0 は変わらないと思っています。
というか、OS/2 の perl の動作だと、$0 をどういじっても、ps 等で見ると
perl.exe とだけ表示されるのですよね。そういうわけで、行頭の$0 への代
入だけを見て、「OS/2 には関係ないやん」と判断して後半の $1 を読み飛ば
していたという... どうもスンマセン。
# 経験不足で、$1,$2 ... って使ったことがないもので (^^;
で、
私 >さて、patch を適用しない OS/2 版の mknmz の LIBDIR に関する動作ですが、
私 >1. $LIBDIR にドライブレターを含む path を指定すれば確実に大丈夫。
私 >2. $LIBDIR にドライブレターが含まれていなくても、mknmz.cmd の存在する
私 > ドライブの LIBDIR を参照するので、ほとんどの場合には大丈夫
私 > (ふつー、/usr/local/bin と /usr/local/namazu/lib は同一)
>
> 動作的には同じ事をやっているのですね。:-)
>
もう一度確認したところ、この 2. は嘘でした。スンマセン。
f:\os2\apps\mknmz.cmd(patch 適用なし)
h;\bin\mknmz.cmd (広瀬さんの patch 適用済み)
h:\usr\local\bin\mknmz.cmd(patch 適用なし)
を作ってテストしたのですが、OS/2 版では mknmz.cmd の先頭で
extproc perl -Sx
とやっています。(この後に、#!/usr/bin/perl 以下の行が続く)
で、OS/2の perl をこの方法で起動すると、perl が起動された後で、呼び
出した mknmz.cmd を再読み込みしてスクリプトが流れると思っていたので
すが、実は、呼び出した mknmz.cmd ではなく、環境変数 path で先に指定
された h:¥bin にある、mknmz.cmd を必ず再読み込みしていました。
# これが、OS/2 の外部コマンドプロセッサ起動というワザです。
つまり、上の3つのどのスクリプトを流しても、常に patch の当たったス
クリプトが動いており、LIBDIR にドライブレターが補完されていました。
で、再実験の結論として、
私 ># つまり、OS/2 の場合、とりあえず patch は不要だと思ってます。
は大嘘でした。スンマセン m(__)m
> いや、次のリリースで高林さんに反映して頂きたいので。。。 ^^;;;;;
OS/2 でもそうでした。私もよろしくお願いします > 高林さん。
ではでは。
end
--
住友林業株式会社 情報システム部 清水 和佳
TEL: +81-3-5322-6672 FAX: +81-3-5322-6658 Niftyserve: XLW01034
e-mail: <kshimz@xxxxxxxxx>