Je viens de remarquer un comportement étrange de perl5 (5.10.0) quand j'ai passé 0 comme argument de ligne de commande à un script, qui l'assigne à une variable. Le problème que j'ai rencontré est que si je donne à la variable une valeur par défaut dans mon script qui est supérieure à 0, disons 1, je peux passer n'importe quelle valeur sauf 0 pour remplacer la valeur par défaut 1.problème passant 0 comme argument de ligne de commande
Voici le code de « test.pl » je:
#!/usr/bin/perl -w
my $x = shift || 1;
print "x is $x\n";
Suite sont les commandes et ouputs quand je l'ai testé:
$ ./test.pl 2
x is 2
$ ./test.pl 0
x is 1
Je vous en serais reconnaissant si quelqu'un peut faire la lumière sur ce point. Merci. wwl
Ne pas oublier 'utilisation 5.10.0,' –
J'ai le sentiment que cela a été introduit dans toute une version récente de Perl, pouvez-vous Dites lequel? Ensuite, je vais +1. –
@gbacon: Merci. Comme plusieurs d'entre nous sont encore sur les versions antérieures, pourriez-vous le mentionner dans votre réponse s'il vous plaît eugene y? Merci. –