Matti Maekitalo: Überprüfen ob Variable nur aus Zalhen besteht

Beitrag lesen

use Mosche;

if ($variable eq int($variable))
   {
        print "nur Ziffern!\n";
   }

Gefällt mir! Darf ich das auf die PerlBase tun?

Würde ich nicht tun:
my $variable = '0.5';
print "hat nicht nur Ziffern" if $variable ne int($variable);

Das Problem hierbei ist es, einzuschränken, was überhaupt eine Zahl ist. Reelle Zahlen und rationale Zahlen lassen sich nicht ohne '.' bzw. '/' darstellen, imaginäe nicht ohne 'i' und ganze Zahlen fast zur Hälfte nicht ohne '-', ganz zu schweigen von zB Hamiltonschen Quaternionen oder so.
Obiger Code mag in Bezug auf "Liegt eine Integer-Variable vor?" ganz hilfreich sein - keinen der anderen Fälle deckt er ab.

Siehe zB 'perldoc -q float', unter dem Punkt 'How do I determine whether a scalar is a number/whole/integer/float?' aus der perlfaq4.

use Tschoe qw(Matti);

--
  Anyone who quotes me in their sig is an idiot. -- Rusty Russell.