psmulti が Perl5 で使えない |
Perl4 の時に使ってた psmult が、Perl を 5にした途端、動かなくなりました。
かといって、そのためだけに Perl4 も共存しておくってのも何か変なので、
ちょいと探ってみました。…
何のことはない、想像通り 4Perlと5Perlで、若干文法が変わったため…というより、
5Perlは厳しくなって、4Perlのいい加減な書き方が通らなくなったからなのです。
[22Jul2000] あ、なんかこれでは動かない気が。手元の作業中のモノと どっか違う(汗)。ちょっと待ってて下さいね [08Aug2000] 直してみました。これでどーだ。 一応動くはずです。…んでも元ソース自体、結構手を入れないと美しくないかも。 ARGV で引数から、オプションと作業するべきファイル名を取得するのですが、 オプション用に切る連想配列 $ほげほげ{$File} = なんちゃら; の方が 先のために、$File に入るべきファイル名が default の "Default" に なってしまう…とか(汗)。 で、そのまま別ルーチンに渡して、 $ほげほげ{$File} の値に従って判別があると言う…(大汗)。 今までうまく動いてたのは、その値を取得する際に、 $ほげほげ{$File} の有無を見たあと、$ほげほげ{Default} の有無も判別して たためになんとか引っかかってた、って感じでしょうか。 処理するファイルが複数の場合も考慮しての coding だったのかもしれませんが、 どうも変なのかも。根本的に修正したほうがいいのですが、他にも色々と 差し支えがあるような気がするので、単に「Perl5 でも動く」レベルに 抑えておきますです。 …オプション -o で output ファイルが指定出来る…とかマニュアルに 載ってるんですが、判別はあるものの、その部分の coding がなかったり するしぃ(苦笑)。 |
→psmulti-1.0-perl5.patch (gzで1709byte。展開して 11637byte) を get する |