Doml: 0 escapen - unterschiede?

Hi Forum,

eigentlich macht es in Perl doch keinen Unterschied ob ich Ascii 0 als
"\0" ,  "\00"  oder "\x00"
schreibe ... oder doch?

Ich hab in einem Script nämlich alle 3 Varianten innerhalt einer Variablenzuweiseung gefunden und war etwas verwirrt.

Grüße,
D

  1. Hi,

    eigentlich macht es in Perl doch keinen Unterschied ob ich Ascii 0 als
    "\0" ,  "\00"  oder "\x00"
    schreibe ... oder doch?

    oh, der Unterschied ist immens. Es handelt sich nämlich um den Ordinalwert 0 in a) dezimaler, b) oktaler und c) hexadezimaler Schreibweise ;-) Soll heißen: Bei anderen Zahlen ist das vermutlich in der Tat jeweils etwas anderes, bei dem Nullbyte macht es (zufällig) keinen Unterschied.

    Ich hab in einem Script nämlich alle 3 Varianten innerhalt einer Variablenzuweiseung gefunden und war etwas verwirrt.

    Ähm. In _einer_ Variablenzuweisung? Wenn diese über mehrere Kontexte verfügt, in denen das jeweilige Zahlensystem genutzt wird, ist das vertretbar, ansonsten ist zu vermuten, dass der Autor kein wirkliches Konzept hatte. Entsprechend ist das Script an sich zu bewerten.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Ähm. In _einer_ Variablenzuweisung? Wenn diese über mehrere Kontexte verfügt, in denen das jeweilige Zahlensystem genutzt wird, ist das vertretbar, ansonsten ist zu vermuten, dass der Autor kein wirkliches Konzept hatte. Entsprechend ist das Script an sich zu bewerten.

      Naja ... stammt immerhin aus einer Perl-API für MySQL (die auch über mysql.com verlinkt ist) :
      http://search.cpan.org/dist/Net-MySQL/
      dort steht $body = "\0\0\x01\x8d\x00\00\00\00" (...)

      tz tz tz

      1. Hi,

        Naja ... stammt immerhin aus einer Perl-API für MySQL (die auch über mysql.com verlinkt ist) :

        um was immer es an der Stelle geht - möglicherweise wird einer Spezifikation gefolgt, in der die jeweiligen Bereiche hexadezimal und oktal beschrieben werden; auf diese Weise ist hier der Wiedererkennungswert höher. Ungefähr das meinte ich mit den Kontexten. Besser wäre es allerdings in dem Fall IMHO gewesen, den String aus Einzelteilen zusammenzusetzen.

        Cheatah

        --
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes