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.