Comment utiliser GetOptions utilitaire pour gérer facultatif arguments de ligne de commande en Perl?
Il y a beaucoup de Perl tutoriels expliquant comment utiliser GetOptions utilitaire pour ne traiter que les arguments de ligne de commande qui sont attendus, d'autre sortie avec un message approprié.
Dans ma condition, j'ai facultatives suivantes arguments de ligne de commande, comme,
- -z zip_dir_path : zip la sortie
- -h : afficher l'aide.
J'ai essayé quelques combinaisons avec GetOptions qui n'a pas fonctionné pour moi.
Donc ma question est: Comment utiliser GetOptions pour gérer cette condition?
EDIT: -z des besoins zip chemin d'accès au répertoire'
EDIT2:
Mon script a obligatoires suivantes arguments de ligne de commande:
- -en input_dir_path : répertoire d'Entrée
- -out output_dir_path : répertoire de Sortie
Voici mon code:
my %args;
GetOptions(\%args,
"in=s",
"out=s"
) or die &usage();
die "Missing -in!" unless $args{in};
die "Missing -out!" unless $args{out};
Espérons que cette ÉDITION ajoute de la clarté.
Habituellement, vous appeler
est trop court: j'ai mis à jour le texte de la question. Merci pour les commentaires.
GetOptions
et puis regardez ce que vous vous retrouvez avec pour voir les commutateurs ont été utilisés. Peut-être que vous devriez inclure un peu de votre tente de clarifier ce qui se passe et quel est le problème.est trop court: j'ai mis à jour le texte de la question. Merci pour les commentaires.
OriginalL'auteur TheCottonSilk | 2011-07-02
Vous devez vous connecter pour publier un commentaire.
Un
:
(côlon) peut être utilisé pour indiquer les options:Oui, vous avez raison.
Bien que j'ai accepté
@Alan Haggai Alavi
's réponse, d'accord avec@mu is too short
dans son commentaire que GetOptions est utilisé pour lister les options fournies par l'utilisateur et le script a traiter les arguments plus que par nécessité.Exactement; plus de travail doit être fait avec les résultats.
OriginalL'auteur Alan Haggai Alavi
À partir de la documentation:
Si vous indiquez que et de vérifier pour la chaîne vide, vous savez ceux qui l'utilisateur n'a pas précisé.
OriginalL'auteur brian d foy
Cela devrait être à
1
ou0
les valeurs de$zip_output
et$show_help
basé sur ce que les arguments d'entrée, vous obtenez en ligne de commande.OriginalL'auteur Tudor Constantin