Hi,
nett,
Ja, finde ich auch. Ist wohl die Musterlösung (falls man von sowas beim Programmieren überhaupt reden kann) für die Problemstellung.
aber wieso ist
perl -le '$x="a"; $x++; print $x'
Das weiß ich auch nicht.
Ich würde vermuten, dass das ist ein Feature ist, das man einfach so hinnehmen muss.
> Und wieso ist
> ~~~perl
> perl -le '$x="a"; $x+=1; print $x'
~~~ = 1?
Hier addierst du einen String mit einer Zahl. Dabei wird der Zahlenwert des Strings mit 1 addiert und das Ergebnis in $x geschrieben.
Der Zahlenwert von Strings ist immer 0.
Das ist das gleiche warum das hier a ausgibt:
perl -le 'print "a" if ("bla" == "blubb")'
Hier wird in der if-Abfrage numerisch verglichen, also ist es das gleiche wie "0 == 0".
mfG,
steckl