Это псевдокод, 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.
Тем не менее, эта мода не кроссплатформенная, потому что вы просто говорите bash выйти из пространства. Это не работает в Windows cmd
, для этого вам придется
$ perl -M"DateTime 9999"
DateTime version 9999 required--this is only version 0.51.
BEGIN failed--compilation aborted.
Здесь вы просто помещаете его в кавычки - это говорит cmd отправлять все это в качестве аргумента в perl, и он выполняет ту же работу.