2013-02-15T11:18:54
Student87Hab noch was vergessen.
Frage 2:
perl -e 'if(10/4 == 2.5){print "true\n"}'
true
an der stelle ein hinweis, den ich nicht oft genug wiederholen kann:
*immer* -w in einzeilern benutzen.
man kann sich das angewöhnen. irgendwann macht mans im schlaf.
ich kann gar nicht mehr anders.
der punkt ist, dass ich es schon so oft erlebt habe, dass jemand einen einzeiler ohne -w schreibt und dann fragt "wieso funktioniert das nicht?"
und ein -w hätte es ihm verraten.
trotzdem lassen die meisten leute das -w weg.
so, weiter im text.
Quoteperl -e 'if(10/4 =~ /.5/){print "true\n"}'
Illegal division by zero at -e line 1.
Wieso illegal division ?
klammerung wäre hier notwendig.
was du machst, ist:
if(10 / (4 =~ /.5/)) { print "true\n" }'
QuoteFrage 3:
$ -> True at end of string (or before any newline, maybe)
\z -> True at end of string only
\Z -> True at end of string or before optional newline
\z verstehe ich, damit kann ich z.B. nicht das today matchen, da das Ende des String eine newline ist. Aber was ist der Unterschied zwischen \Z und $ ?
$ matcht unter bestimmten umständen auch zeilenenden, die nicht am ende des strings sind. siehe regex-modifier /m (für "multiline"). daher braucht man in diesem fall \Z