PerlのDateTime :: Format :: DateManipバージョン番号をコマンドラインから取得するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/2134810

質問

私はこれをコマンドラインから使用しています:

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 モジュールを使用すると、バージョンが必要です。

また、ただ楽しみのために;)

バージョン番号をテストするためのPerl Shorthands

これらは、 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.

ただし、このファッションはクロスプラットフォームではありません。なぜなら、単にバッシュにスペースを逃れるように言っているからです。これはWindowsでは機能しません cmd, 、そのためにあなたはしなければなりません

$ perl -M"DateTime 9999"
DateTime version 9999 required--this is only version 0.51.
BEGIN failed--compilation aborted.

ここで、あなたはそれを引用符でつけただけです - それはCMDにPerlへの議論としてそれをすべて送るように指示し、それは同じ仕事を成し遂げます。

他のヒント

これを頻繁に行っている場合は、ダウンロードしてインストールできます PMvers CPANから。スクリプトは、潜在的に長いモジュール名を2回入力することを避けます。

pmvers DateTime::Format::DateManip
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top