(toppers-users 3565) Re: ASPのmakedepでuse POSIXしている理由は?

Masaki Muranaka monamour @ monaka.org
2011年 10月 12日 (水) 09:43:49 JST


高田先生,users MLのみなさま:
おはようございます.

POSIXモジュールの件は承知しました.

-d の件,やはり府に落ちません.
最新と思われる asp-1.7.0.tar.gz の utils/makedep を参照しましたが,
do Getopt("COTDR");
という引数での呼び出しになっており, -d が有効に作用するとは思えません.
また,-T -D ともに与えない状態で実行してみたところ,-d の有無にかかわらず
elsif (!$opt_d) {
        $target_dir = ""; ←ここ
}
に必ず突入しています.動作環境の違いでしょうか?


2011年10月12日1:47 Hiroaki TAKADA <hiro @ ertl.jp>:
> 邑中様
>
> $^O 変数を使わずに POSIXモジュールを使っているのは、積極的な理由は
> なかったと思います。ので、ご提案通りに修正したいと思います。
>
> -d オプションの方は、こちらでテストした限りは、動いています。-s
> オプションは、-T オプションで置き換えたので削除しました。-d オプ
> ションは、過去に何かの理由があって導入したものと思いますが、もう
> 思い出せなくなっています。ですが、削除する理由がなかったので残っ
> ています。
>
> 高田広章
> 名古屋大学
>
> (11/10/11 10:18), Masaki Muranaka wrote:
>> users-MLのみなさま:
>> おはようございます.
>>
>> あともう一箇所腑に落ちないコードがありました.
>> コマンドラインの -d オプションには,値の定義が無いので,Getopt 関数では解析できず,
>> $opt_d は常に定義されないのではないように思います.
>> 同様に動かない疑いのある -s オプションは ASP 版では削除になったようなのですが,
>> -d を ASP 版で残している積極的な理由はありますか?
>>
>> 積極的な理由がなかったと仮定した場合の,さきほどの質問内容も含めた修正案の patch を添付します.
>>
>>
>> 2011年10月11日8:01 Masaki Muranaka<monamour @ monaka.org>:
>>> おはようございます.
>>>
>>> ASPのmakedepをざっと読んでみて,質問です.
>>> ASPのmakedepで,/cygdrive 問題をクリアするために判別を試みているのは判りました.
>>> その方法として POSIXモジュールをuseしていますが,POSIXモジュールは常に Perl に組み込まれているとは限らないのではと思います.
>>> (また,モジュールが組み込まれていたとしても,すべての関数/変数/定数が使えるとも限りません)
>>>
>>> Perl では $^O 変数で動作環境の判別が可能と思うのですが,これを用いなかった積極的な理由はありますでしょうか.
>>>
>>> --
>>> from もなか
>>>
>>>
>
>