Bonjour,
un petit BUG ( pas bien génant ) de mon script ( lscl ):
[code]use Getopt::Long;
TRAITEMENT DE LA LIGNE DE COMMANDE:
my $all;
my $aide;
my $color; # formes: -n OU --nocolor
my $options= GetOptions(
“all” => $all,
“nocolor” => $color,
“help”=> $aide,
);
[/code]
les appels du type:
lscl -a -n
lscl --all -n ( pas très POSIX --all avant -n )
lscl -a --nocolor
etc… fond bien ce que j’en attend.
( il est même très tolérant avec la forme
lscl --a --n )
mais les appels du type:
lscl -na
lscl -an
renvoient le message d’erreur "Unknown option: an"
or man Getopt::Long précise bien que la forme concaténée à 1 lettre( et un tiret) est prise en compte, comme le sont les options négatives avec ! ou --nooption.
Getopt::Long étant tellement éprouvé que je n’imagine pas le BUG de son coté, mais plutôt ma faiblesse en anglais
PS
j’ai aussi essayé:
my $options= GetOptions(
"all|a" => \$all,
"nocolor|n" => \$color,
"help|h"=> \$aide,
);
avec les même résultats
PPS Il y a bien aussi l’option Configure(“gnu_compat”), mais elle m’ignore complètement…
PPPS
[size=85]Pour info lscl est un script ( liste les commentaires en ligne ) compagnon de setcl ( édite un commentaire en ligne ), avec lequel je commente des noms de fichier ou de répertoire avec setfattr, que lscl lit avec getfattr
J’y ajoute l’option noir et blanc ( --nocolor ) pour pouvoir l’utiliser dans des tubes ( pipe )[/size]