2011-01-20 65 views
0

我正在使用perl文檔中有關如何在腳本中使用Getopt::Long的教程。在那裏,它顯示瞭如何使用Pod::Usage添加文檔,而不必將所有東西都輸出到子例程或其他東西中。無論如何,在他們有這樣的例子中;如何將多個POD添加到我的perl腳本的末尾?

GetOptions('help|?' => \$help, 'b|backup' => \&backup, d|discover => \&discover, man => \$man) or pod2usage(2); 
pod2usage(1) if $help; 
pod2usage(-exitstatus => 0, -verbose => 2) if $man; 

我加了一些我自己的論點。

我得到如何引用文檔的第一部分。但是,我如何參照pod2usage(2)所述的第二部分?

當我在第一部分末尾的=cut之後添加一個新節時,當我試圖讓它顯示出來時,我遇到了一個命令提示符,就像進入然後退出而不顯示該節一樣。難道我做錯了什麼?

回答

3

您不需要「多個POD」。

pod2usage,當被稱爲,例如,pod2usage(1),這裏的1代表退出狀態,和詳細級別是隱含爲1,所以它會打印SYNOPSIS,任何部分題爲OPTIONSARGUMENTSOPTIONS AND ARGUMENTS

當作爲pod2usage(-exitval => 0, -verbose => 2)呼叫時,它將在文本尋呼機內打印整個POD(與perldoc yourscriptname.pl相同),並以0退出。 (注意它是-exitval而不是-exitstatus)。

它在Pod::Usage文檔here中有詳細描述,其工作方式與上述相同。

對於您所描述的內容以及-verbose => 1,您可能會發現對pod2usage的可選-sections參數有用,用於選擇要顯示的內容。

+0

好吧,我更慢地查看了Pod :: Usage文檔,看到了正在討論的部分。我似乎無法工作的唯一部分是GetOptions .....或pod2usage(2);它只是轉儲到提示,它不顯示它應該的菜單。只是看到我編輯了其中一個命令標誌來完成與pod2usage(2)相同的功能,並且它非常完美。 – ianc1215 2011-01-20 06:01:04

相關問題