use strict; use warnings; sub ist_zahl {  if ( $_[0] =~ /^-?\d+\.?\d+$/ ) { return 1; }  return 0; } my $str = '123'; ist_zahl($str) or print "$str ist keine Zahl\n"; $str = '-123'; ist_zahl($str) or print "$str ist keine Zahl\n"; $str = '12.3'; ist_zahl($str) or print "$str ist keine Zahl\n"; $str = '-12.3'; ist_zahl($str) or print "$str ist keine Zahl\n"; $str = '1.2.3'; ist_zahl($str) or print "$str ist keine Zahl\n";