Я рационализирую, что ваша точка зрения является первым кодом и документом позже, что становится стабильным. Это справедливо, когда вам нужно писать дважды документы и код. Но в наши дни это не так. Моя рекомендация для прототипирования - писать man-страницу и использовать модуль, который создает код для вас.
Мой любимый в perl и python: docopt (и имеет реализации для многих других языков). Здесь вы можете найти Perl Docopt
Я спросил о perl implementatios for docopt давно в StackOverflow и я указал на docopt модуль и другие варианты, как Getopt::Euclid, Getopt::Auto и Getopt::AsDocumented
Связанных с беспокойством о том, не увеличивающихся зависимости CPAN, в питоне Docopt является selfcontained, но я думаю, что это не верно для реализации PERL, которая зависит от булевых, Class :: Accessor :: Lite, списка :: MoreUtils, списка :: Util, родителя, Pod :: Использование и Scalar :: Util; и зависимостей зависимостей.
Если реализация perl Docopt не такая маленькая и автономная, как исходный Python, то, вероятно, настало время дать ей более широкое использование и начать заполнять запросы функций/реализации, потому что IMHO, метод doctopt делать вещи - ОДИН из многих способов сделать все правильно.
Наконец, вы поговорите о том, почему docopt. Речь идет о python, но логика интерфейсов командной строки и UX одинаковы для всех языков: PyCon UK 2012: Create beautiful command-line interfaces with Python
Getopt :: Евклид звучит как моя чашка чая, я попробую. Глупый вопрос, но ничего больше, что уже есть в основных модулях и не требует зависимости от модуля? – 719016
Если вы хотите узнать, какие модули включены в ядро, используйте ['corelist'] (http://search.cpan.org/perldoc?corelist) (поставляется с [Module :: CoreList] (http: // search .cpan.org/perldoc? Module :: CoreList)) – ikegami