On 2005-12-01 11:57:13 +0000, Philippe Jacquot wrote:
Vincent Lefevre a écrit :
En Perl, le traitement des erreurs peut se faire de diverses façons
(suivant ce qui est le plus pratique...). On peut très bien faire un
eval { ... };
et la variable $@ donne la chaîne correspondant à l'erreur éventuelle.
Donc, oui, on peut faire le même genre de chose qu'en Python.
Hmmm.. de fait, en cas d'erreur, ou même de die(), eval() retourne
undef. Mais alors, bon, déjà le case je trouve ça un peu cracra, mais
Euh, c'est très similaire à "except". Mais bon, rien ne t'empêche
d'écrire un module similaire à Switch pour utiliser le mot "except"
au lieu de "case", avec une syntaxe du style:
try($code) {
except /test1/ { ... }
except /test2/ { ... }
except /test3/ { ... }
}
alors si en plus il faut tester sur des chaines, je trouve ça un peu
bidon.
Pas plus que d'utiliser des valeurs numériques. Il faut bien tester
sur quelque chose, est une chaîne est ce qui me paraît le plus souple.
Maintenant, dans une chaîne, tu peux mettre une valeur numérique si
ça te fait plaisir.