if wertet immer @zahlen aus, und zwar als scalar
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
$muster = '(\d)\.([^\D])';
$text = 4.12;
if (@zahlen = $text =~ m/$muster/)
{print "(1) wahr: ", scalar @zahlen, "\n";}
else
{print "(1) falsch: ", scalar @zahlen, "\n";} # $1 ist 4 und $2 ist 1, deshalb wahr
if (@zahlen = $text !~ m/$muster/)
{print "(2) wahr: ", scalar @zahlen, "\n";}
else
{print "(2) falsch: ", scalar @zahlen, "\n";} # warum wahr:
$text = 4.0; # <- == 4, du wolltest eigentlich '4.0'
if (@zahlen = $text =~ m/$muster/)
{print "(3) wahr: ", scalar @zahlen, "\n";}
else
{print "(3) falsch: ", scalar @zahlen, "\n";} #warum falsch:
if (@zahlen = $text !~ m/$muster/)
{print "(4) wahr: ", scalar @zahlen, "\n";}
else
{print "(4) falsch: ", scalar @zahlen, "\n";} # warum wahr: 1
wird es jetzt deutlich?\n\n
<!--EDIT|esskar|1105367738-->