Использование perl Getopt::Long::GetOptions
Я новичок в Perl и хотел использовать Getopt::Long::GetOptions
для получения параметров командной строки в сценарии.
У меня есть требование, как это:-
1.) perl script.pl -c <name1> -c <name2> -m <name3> argument
Здесь у нас есть вариант флага "-c"
а также "-m"
необязательно и "argument"
является обязательным.
Может ли кто-нибудь указать правильное использование для GetOptions
?
Спасибо Арпит
2 ответа
Вот пример кода и результат.
https://gist.github.com/kyanny/5634832
Если вы хотите узнать больше о том, как обрабатывать несколько значений, см. Документацию: http://perldoc.perl.org/Getopt/Long.html
Еще одна вещь, Getopt::Long::GetOptions не предоставляет способ обработки обязательных опций. Вы должны проверить, есть ли обязательные опции в @ARGV и поднять Исключения и т. Д. В вашей руке.
От Getopt::Long
документация:
GetOptions
не возвращает ложный результат, если опция не указанаВот почему они называются "варианты".
Другими словами, если вы ожидаете обязательный параметр, вам нужно явно проверить его за пределами GetOptions
вызов.
Если аргумент должен быть частью @ARGV
а не варианты, используйте --
сигнализировать об окончании опций. В приведенном ниже примере скрипт argument
с помощью $ARGV[0]
:
perl script.pl -c <name1> -c <name2> -m <name3> -- argument