Я хочу провести разбор аргумента командной строки для пути к каталогу в perl. Я хочу сделать этот аргумент как необязательный. поэтому, когда пользователь дает путь, он должен быть назначен переменной $ release_model, иначе он выполнит другой код, который я написал для поиска каталога из основного каталога. Я новичок в perl, но так или иначе закодирован. Может ли кто-нибудь помочь?Как добавить необязательный аргумент в perl
Getopt::Long
my $command_line = $GetOptions(\%Opts, "help|h","[email protected]","test","model");
if($command_line==0){
print "$PROGRAM: no arguments are given";
Usage{};
}
else die "No arguments were given"
Но он не принимает модель в качестве необязательного аргумента и вызывает ошибку.
Я только начал работать с perl.
«Бросает ошибку» не является полезным диагностическим сообщением. Какая ошибка? Конструкция '$ GetOptions (...)' '' '' выглядит как ошибка. Это реальный код? Голый «Getopt :: Long» (no semicolon? Not 'use Getopt :: Long;'?) Также выглядит как ошибка. – mob
hi mob, да это настоящий код. Я новичок в Perl. никогда раньше не работал с perl. –
Тогда почему вы существенно отклонились от кода в [документации] (http://search.cpan.org/perldoc?Getopt::Long)? См. Код в Сводке. – ikegami