$muster = qr'(\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: weil @zahlen immernoch die Ergebniss von vorher enthält
$text = 4.0;
if (@zahlen = $text =~ m/$muster/)
{print "(3) wahr: @zahlen\n";}
else
{print "(3) falsch: @zahlen\n";} #warum falsch: weil 4.0 zu 4 wird
if (@zahlen = $text !~ m/$muster/)
{print "(4) wahr: @zahlen\n";}
else
{print "(4) falsch: @zahlen\n";} # warum wahr: 1 weil das Muster eben nicht gefunden wird -> Ergebnis leer