sub echo {   my ($text, @array) = @_;     print "$text :";   print " [", (join "][", map { defined $_ ? $_ eq "" ? "leer" : $_ : "undef" } @array ), "]\n"; } $muster = '(\d)\.([^\D])'; $text = 4.12; if (@zahlen = $text =~ m/$muster/) { echo "(1) wahr", @zahlen} else {echo "(1) falsch", @zahlen} if (@zahlen = $text !~ m/$muster/) {echo "(2) wahr", @zahlen} else {echo "(2) falsch", @zahlen} $text = 4.0; if (@zahlen = $text =~ m/$muster/) {echo "(3) wahr", @zahlen} else {echo "(3) falsch", @zahlen} if (@zahlen = $text !~ m/$muster/) {echo "(4) wahr", @zahlen} else {echo "(4) falsch", @zahlen}