コマンドラインからこれを使用しています:
perl -MDateTime::Format::DateManip -le 'print $Some::Module::VERSION'
空白行のみを返しますが、何か考えはありますか?
コマンドラインからこれを使用しています:
perl -MDateTime::Format::DateManip -le 'print $Some::Module::VERSION'
空白行のみを返しますが、何か考えはありますか?
これは疑似コードでSome
あり、設定されていないため、次のようにフラグundef
を付けて出力するだけです。-l
perl -le'print undef
証拠については、警告をオンにします-w
$ perl -MDateTime::Format::DateManip -wle 'print $Some::Module::VERSION'
Use of uninitialized value $Some::Module::VERSION in print at -e line 1.
バージョンSome::Module
が必要なモジュールに置き換えます。
また、楽しみのために;)
これらは、use <module> <version>
構文と、十分に新しくないバージョンの perl の音声拒否を利用して、バージョン番号を取得する簡単な方法です。
これらはすべて、次のように perl スクリプトを作成するのと同じです。use DateTime 9999;
$ perl -MDateTime\ 9999
DateTime version 9999 required--this is only version 0.51.
BEGIN failed--compilation aborted.
ただし、スペースをエスケープするように bash に指示しているだけなので、この方法はクロスプラットフォームではありません。これは windowscmd
では機能しません。
$ perl -M"DateTime 9999"
DateTime version 9999 required--this is only version 0.51.
BEGIN failed--compilation aborted.
ここでは、それを引用符で囲みます - これは cmd にすべてを引数として perl に送信するように指示し、同じ仕事を完了させます。
これを頻繁に行う場合は、CPAN からpmversをダウンロードしてインストールできます。このスクリプトを使用すると、長くなる可能性のあるモジュール名を 2 回入力する手間を省くことができます。
pmvers DateTime::Format::DateManip