[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: version check script
遠藤です。
Mitsuru Oka <oka@debian.or.jp> writes:
> 岡@情報科学.高知大です。
>
> ありがとうございます。根本的に解決してみました。正規表現を不
> 必要に緩くしたのが原因でした(先に書いた仕様上の緩和とは無関係)。
>
> ついでに:
> * Perl での比較演算子:
> `==' は数値としての比較
> `eq' は文字列としての比較
> です(今回は eq でいいのですが、正規表現がいい加減だった
> ので余計なスペースを混入してしまったのが原因です)。
> * shift; と書くと $_ = shift; と同等の意味を持ちます。
ありがとうございます。
ただ、まだ cvs リビジョン番号のチェックがうまくいってないようです。
英語ファイルと日本語ファイルの cvs リビジョン番号が同じでも "ER" が表
示されてしまいます。
どうも、サブルーチン get_cvs_revision で 引数がパターンスペースにうま
く渡っていないようです。そのために 61 行目の検索に失敗し、常に 0 が返
されているようです。
59: sub get_cvs_revision {
60: shift;
61: return 0 unless m|^(.+)/(.+)$|;
論理的な理由は説明できませんが、60 行目を $_ = shift; にするとうまく動
作します。
# なんででしょ?
--
Yoshizumi Endo <y-endo@xxxxxxxxxxxxxxx>