Perl als "Hackersprache" - konkrete historische Beispiele?
bearbeitet von pl> > Nein. Und da wird nichts unmaskiert ausgegeben. Weil der Operator `==` einen numerischen Vergleich einfordert. So wird der ganze Block zu undef und ausgegeben wird "Alles Falsch!"
>
> Da irrst du dich: <http://tpcg.io/totSMv>.
> Wenn einer der beiden Operanden von `==` ein String ist, wird dieser als numerischer Wert `0` interpretiert. Dadruch ergibt der Vergleich `0 == "iregendwas"` immmer `true`.
Ja: Wenn man alle Warnungen abschaltet. Das ist jedoch nicht empfehlenswert! Vielmehr werden sämtliche Wanungen in den Status einer Exception erhoben, so daß man mit eval{} arbeiten kann, was einem try{}Block entspricht also auf Exceptions prüft.
Im Übrigen habe ich ja nicht umsonst genau dieses Stückchen CODE gezeigt. Denn die Frage zielte ja in Richtung Hack. So erledigt der eval{}Block gleich mehrere Dinge womit man sich Einiges an Prüfungen valider Benutzereingaben sparen kann. Der Code compiliert schon dann nicht, wenn der `hex()` Funktion unzulässige Zeichen übergeben wurden. Und natürlich auch dann nicht wenn am Vergleichsoperator Strings ankommen.
MfG