Вы могли повторно реализовать значение по умолчанию repr этот путь:
def __repr__(self):
return '<%s.%s object at %s>' % (
self.__class__.__module__,
self.__class__.__name__,
hex(id(self))
)
Я обычно использую Getopt :: Long вместе с Pod :: Usage . (Я приобрел эту привычку после прочтения учебника на сайте PerlMonks, поэтому здесь ' s ссылка на этот .) Это выглядит примерно так:
use Getopt::Long;
use Pod::Usage;
my( $opt_help, $opt_man, $opt_full, $opt_admins, $opt_choose, $opt_createdb, );
GetOptions(
'help!' => \$opt_help,
'man!' => \$opt_man,
'full!' => \$opt_full,
'admin|admins!' => \$opt_admins,
'choose|select|c=s' => \$opt_choose,
'createdb!' => \$opt_createdb,
)
or pod2usage( "Try '$0 --help' for more information." );
pod2usage( -verbose => 1 ) if $opt_help;
pod2usage( -verbose => 2 ) if $opt_man;
Параметры, отличные от $ opt_man
и $ opt_help
, не имеют отношения к вам в этом примере . Я просто скопировал верхнюю часть случайного скрипта, который у меня был.
После этого вам просто нужно написать POD. Вот хорошая ссылка , описывающая основы самого POD.
Edit : В ответ на вопрос OP в комментариях, вот как вы можете распечатать только раздел NAME
когда прошел подходящий вариант. Сначала добавьте еще один параметр в хэш параметров в GetOptions
. Давайте использовать здесь 'name' => \ $ opt_name
. Затем добавьте следующее:
pod2usage(-verbose => 99, -sections => "NAME") if $opt_name;
Уровень детализации 99 - это волшебство: он позволяет вам выбрать только один или несколько разделов для печати. Дополнительную информацию см. В документации к Pod :: Usage
в разделе -sections
. Обратите внимание, что -sections
(имя) имеет множественное число , даже если вам нужен только один раздел .