Come faccio ad aggiungere più contenitori fino alla fine del mio script Perl?
-
13-10-2019 - |
Domanda
Stavo lavorando con un tutorial reperibili nella documentazione Perl su come utilizzare Getopt :: Long in uno script. Nel ci mostra come aggiungere la documentazione utilizzando Pod :: Usage piuttosto che dover digitare tutto una subroutine o qualcosa del genere. In ogni caso l'esempio che hanno questo;
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;
ho aggiunto alcune delle mie argomentazioni.
ottengo come fare riferimento alla prima sezione della documentazione. Ma come faccio mi riferisco alla seconda sezione come affermato da pod2usage(2)
?
Quando aggiungo una nuova sezione dopo la =cut
alla fine della sezione 1, quando cerco di farlo visualizzarlo mi incontrai con un prompt dei comandi, come è andato dentro e poi fuori, senza mostrare la sezione. Sto facendo qualcosa di sbagliato?
Soluzione
Non è necessario "più contenitori".
pod2usage
, quando viene chiamato come, per esempio, pod2usage(1)
, qui l'1 rappresenta lo stato di uscita, e il livello di verbosità è implicita come 1, in modo che stamperà il SYNOPSIS
, e ogni sezione intitolata OPTIONS
, ARGUMENTS
o OPTIONS AND ARGUMENTS
Quando chiamato come pod2usage(-exitval => 0, -verbose => 2)
, verrà stampata la totalità del POD, all'interno del vostro cercapersone testo (identico a quello che avrebbe fatto perldoc yourscriptname.pl
) e uscire con 0
. (Nota di essa la -exitval
e non -exitstatus
).
E 'ben descritto nella documentazione Pod::Usage
qui , e funziona proprio come descritto.
È possibile trovare il parametro opzionale per -sections
pod2usage
utile per quello che hai descritto, in combinazione con -verbose => 1
, di scegliere ciò che si desidera visualizzare.