まったく低レベルな上に、時代錯誤的な質問で申し訳ありません。
モジュールを使えるようになりたいと思いました。まず、基本のき、である、
wildcard.pm です。
まず、情報が揃っていて環境も揃っている、Jperl5で以下のように成功しました。
WindowsXPマシンにて。
---test.pl---
use Wildcard; #
#require "Wildcard.pl"; #Perl4用のつもりで.pm->.pl rename copy
for (@ARGV) { print $_,"\n"}
-------------
# 実行状況。やった、ワイルドカード展開ができる!
# .plとJperl5は関連づけしてある。
C:\>test.pl *.txt
ABC.TXT
BLUMBLUB.TXT
etc.
etc.
同じことを、 「#Perl4 用のつもり」 の行を上と入れ替えてやってみますと
「@INC に見つからない」と Jperl4 はいう。
そこで、
>Jperl -e"print @INC;"(これはJperl5です)
とすると、きちんと3カ所正しく(標準どおり)示してくれる。ところが、
>Jperl4 -e"print @INC;"(これはJperl4 for MS-DOS)
とすると、何も出力がない。
これは空というわけでしょうか。 どうやって、Jperl4 にモジュール(ライブ
ラリと呼ぶべきですか? )の在処を知らせられるのでしょうか。 念のため、
Jperl4.exe と同じディレクトリに wildcard.pl を入れてやってみたのですが、
駄目でした。
Jperl4というのは、
This is jperl, version 4.036 + 1.4(MSDOS, SJIS) Oct 31 1993
という版なのですが。
僕はできないことをやろうとはしてませんよねぇ…。(-o-; m(__)m
古い話で恐縮ですが、ご教授いただければ幸いです。
文太
追伸:ご存じだろうとも思いますが、wildcard.pmの中身は以下のように
なっています。ここでもuseを使っているばかりか、「呼んで」ます。あああ。
どうすればよいのでしょうか。「諦めなさい」以外の回答があるとよいのです
が…。
package Wildcard;
use File::DosGlob 'glob';
@ARGV = map {
s!^(\w):([^\\/])!$1:\.\\$2! ; $_ ;
/[*?]/ ? File::DosGlob::glob($_) : $_ } @ARGV;
1;