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 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