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

Masaki Muranaka monamour @ monaka.org
2011年 10月 12日 (水) 10:32:56 JST


高田先生,users MLのみなさま:

原因判りました,当方のミスです.-d が期待通りに動作することを
確認しました.すみません.
用途不明ながら後方互換性のために残す,ということで承知いたしました.


2011年10月12日10:16 Hiroaki TAKADA <hiro @ ertl.jp>:
> 邑中様
>
> 使用している getopt.pl の違いでしょうか。私の環境の getopt.pl は、
> perl 5.12.3 に含まれているもので、
>
> ;# $RCSfile: getopt.pl,v $$Revision: 4.1 $$Date: 92/08/07 18:23:58 $
>
> というタグがついているもので確かに古いです。
>
> このコメントには、
>
> ;# Process single-character switches with switch clustering.  Pass one
> argument
> ;# which is a string containing all switches that take an argument.
>
> とありまして、Getopt の引数は、パラメータを取るスイッチのリストです。
> 引数に含まれないスイッチは、あれば 1 に定義されるという仕様です。
>
> 高田広章
> 名古屋大学
>
> (11/10/12 9:43), Masaki Muranaka wrote:
>> 高田先生,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 もなか
>>>>>
>>>>>
>>>
>>>
>>
>
>