$muster = '(\d)\.([^\D])'; $text = 4.12; if (@zahlen = $text =~ m/$muster/) {print "(1) wahr: @zahlen\n";} else {print "(1) falsch: @zahlen\n";} # $1 ist 4 und $2 ist 1, deshalb wahr if (@zahlen = $text !~ m/$muster/) {print "(2) wahr: @zahlen\n";} else {print "(2) falsch: @zahlen\n";} # warum wahr: $text = 4.0; if (@zahlen = $text =~ m/$muster/) {print "(3) wahr: @zahlen\n";} else {print "(3) falsch: @zahlen\n";} #warum falsch: if (@zahlen = $text !~ m/$muster/) {print "(4) wahr: @zahlen\n";} else {print "(4) falsch: @zahlen\n";} # warum wahr: 1