PerlのDateTime :: Format :: DateManipバージョン番号をコマンドラインから取得するにはどうすればよいですか?
-
22-09-2019 - |
質問
私はこれをコマンドラインから使用しています:
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
所属していません StackOverflow