2010-02-13 5 views
5

Possible en double:
How do I create or test for NaN or infinity in Perl?Comment puis-je vérifier scalar pour une valeur 'inf' en Perl?

Comment puis-je vérifier si scalaire tient valeur inf? Je vérifie NaN comme $scalar != $scalar, que faire avec inf?

$scalar == inf ne fonctionne pas, puisque inf est un bareword

+4

double: http://stackoverflow.com/questions/1185822/how-do-i-create-or-test-for-nan-or-infinity-in-perl –

+0

vous avez raison, fermeture –

+0

Pas de problème! Je suis content que vous ayez eu votre réponse! –

Répondre

-1

J'ai trouvé un sale hack en ce moment.

($scalar eq "inf") 

Y a-t-il un nettoyant pour quelque chose?

+1

Pas bon. Perl va fortifier inf mais la libc sous-jacente le fait, et cela peut varier (à la fois dans le standard C et, sur Windows, loin de lui). – ysth

0

vous pouvez l'utiliser pour vérifier l'infini:

$scalar < 9**9**9 

cette constante est si grand qu'il sera interprété comme infini par Perl