¿Cómo agrego varios POD hasta el final de mi script de Perl?
-
13-10-2019 - |
Pregunta
Yo estaba trabajando con un tutorial en la documentación de Perl acerca de cómo usar Getopt :: largo en un script. Allí se muestra cómo agregar documentación mediante Pod :: Uso en lugar de tener que escribir todo lo una subrutina o algo así. De todos modos, en el ejemplo que tienen esta;
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;
He añadido algunos de mis propios argumentos.
consigo cómo hacer referencia a la primera sección de documentación. Pero, ¿cómo me refiero a la segunda sección según lo declarado por pod2usage(2)
?
Cuando agrego una nueva sección después de la =cut
al final de la sección 1, cuando trato de tener que mostrar que estoy reunido con el símbolo del sistema, al igual que entró, y luego sin mostrar la sección. ¿Estoy haciendo algo mal?
Solución
No es necesario "múltiples pods".
pod2usage
, cuando llama como, por ejemplo, pod2usage(1)
, aquí el 1 representa el estado de salida, y el nivel de verbosidad se implica como 1, por lo que se imprimirá la SYNOPSIS
, y cualquier sección titulada OPTIONS
, ARGUMENTS
o OPTIONS AND ARGUMENTS
Cuando llama como pod2usage(-exitval => 0, -verbose => 2)
, se imprimirá la totalidad de la POD, dentro de su localizador de texto (idéntico a lo que haría perldoc yourscriptname.pl
) y salida con 0
. (Tenga en cuenta que de -exitval
y no -exitstatus
).
Está bien descrito en la documentación Pod::Usage
aquí , y funciona según lo descrito.
Usted puede encontrar el parámetro opcional -sections
a pod2usage
útil para lo que se ha descrito, en combinación con -verbose => 1
, a escoger y elegir lo que desea mostrar.