Comment puis-je ajouter plusieurs modules à la fin de mon script perl?
-
13-10-2019 - |
Question
Je travaillais avec un tutoriel dans la documentation perl sur la façon d'utiliser Getopt :: Long dans un script. Là-dedans, il montre comment ajouter de la documentation en utilisant Pod :: Utilisation plutôt que d'avoir à taper tout un sous-programme ou quelque chose. Quoi qu'il en soit dans l'exemple, ils ont ceci;
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;
Je glissai mes propres arguments.
Je reçois comment faire référence à la première partie de la documentation. Mais comment puis-je me réfère à la deuxième section comme indiqué par pod2usage(2)
?
Quand j'ajoute une nouvelle section après la =cut
à la fin de l'article 1, lorsque je tente de faire l'afficher, je suis rencontré une invite de commande, comme il est allé et puis sans afficher la section. Ai-je fait quelque chose de mal?
La solution
Vous n'avez pas besoin "plusieurs pods".
pod2usage
, lorsqu'il est appelé comme, par exemple, pod2usage(1)
, ici le 1 représente l'état de sortie, et le niveau de verbosité est sous-entendu que 1, il imprime le SYNOPSIS
et les sections intitulées OPTIONS
, ARGUMENTS
ou OPTIONS AND ARGUMENTS
Quand appelé pod2usage(-exitval => 0, -verbose => 2)
, il imprimera l'ensemble du POD, dans votre téléavertisseur texte (identique à ce que perldoc yourscriptname.pl
ferait) et sortir avec 0
. (Notez son -exitval
et non -exitstatus
).
Il est bien décrit dans la documentation Pod::Usage
et fonctionne comme décrit.
Vous pouvez trouver le paramètre optionnel -sections
à pod2usage
utile pour ce que vous avez décrit, combiné avec -verbose => 1
, de choisir ce que vous souhaitez afficher.