8

独自のカスタム コマンド用に POD を作成し、pod2usage() 関数を使用してその構文を表示したいと考えています。

誰でも簡単な例を教えてもらえますか?

よろしく、 アナンダン

4

2 に答える 2

17

Getopt::LongとPod::Usageを併用してこれを行います。(PerlMonks サイトのチュートリアルを読んだ後、この習慣を身につけたので、そのリンクもここにあります。) 次の例のようになります。

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この例では、 and以外のオプション$opt_helpは関係ありません。ここにあるランダムなスクリプトの先頭をコピーしました。

その後、POD を作成するだけです。これは、 POD自体の基本を説明する適切なリンクです。

編集:コメントのOPの質問に応えてNAME、適切なオプションを渡したときにセクションだけを印刷する方法を次に示します。まず、 のオプションのハッシュに別のオプションを追加しますGetOptions。ここを使いましょう'name' => \$opt_name。次に、これを追加します。

pod2usage(-verbose => 99, -sections => "NAME") if $opt_name;

Verbose レベル 99 は魔法です。1 つまたは複数のセクションを選択して出力するだけです。Pod::Usage詳細については、以下のドキュメントを参照し-sectionsてください。セクションが 1 つだけ必要な場合でも-sections、(名前) は複数形であることに注意してください。

于 2009-08-05T11:02:12.620 に答える
4

perlpodのマンページには良い例がたくさんあります。Pod2の使い方はこちらで解説しています。

于 2009-08-05T09:35:52.063 に答える