J'examine les options de ligne de commande en Perl en utilisant Getopt::Long. Je suis obligé d'utiliser le préfixe -
(un tiret) pour les commandes courtes (-s
) et --
(double tiret) pour les commandes longues (par exemple, --input=file
).Comment puis-je gérer -r = <pattern> avec Perop's Getopt :: Long?
Mon problème est qu'il ya une option spéciale (-r=<pattern>
) il est donc option longue pour son exigence d'argument, mais il doit avoir un tiret (-
) préfixe non double tiret (--
) comme d'autres options longues. Est-il possible de configurer Getopt::Long pour les accepter?
Ouch. Il ne peut vraiment pas être changé en '-r arg' ou' --r = arg' ou quoi que ce soit à ce stade? Non seulement cela fait-il travailler pour vous, mais cela semble déroutant pour l'utilisateur d'avoir une option qui brise la convention habituelle. – Cascabel
P.S. Je n'essaie pas d'éviter de te donner une réponse - je sais que tu es probablement déjà au courant de ce que j'ai dit. (Aussi je ne pense pas qu'il y ait une réponse dans Getopt :: Long) – Cascabel
L'astuce consiste à faire ressembler les arguments à ce que les gens attendent d'autres programmes. C'est quand vous voulez une nouvelle syntaxe que les choses deviennent bizarres et vous devez faire beaucoup de travail pour les analyser. –