MoD: Perl

Hi,

kann mir mal jemand erklären was dieser Code macht:

$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/<!--(.|\n)*-->//g;

Soweit ich das verstanden habe vergleicht Perl den Wert von $value
mit regulären Ausdrücken -> werden hier Zeichen rückübersetzt, welche im Hex-Code versendet wurden ?

Danke MoD

  1. Hi MoD,

    kann mir mal jemand erklären was dieser Code macht:
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
    $value =~ s/<!--(.|\n)*-->//g;

    ja - SELFHTML (genau ein Treffer).

    Viele Grüße
          Michael

    --
    T'Pol: I apologize if I acted inappropriately.
    V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
    (sh:| fo:} ch:] rl:( br:^ n4:( ie:% mo:) va:| de:/ zu:| fl:( ss:) ls:~ js:|)
     => http://www.peter.in-berlin.de/projekte/selfcode/?code=sh%3A|+fo%3A}+ch%3A]+rl%3A(+br%3A^+n4%3A(+ie%3A%25+mo%3A)+va%3A|+de%3A%2F+zu%3A|+fl%3A(+ss%3A)+ls%3A~+js%3A|
    Auch diese Signatur wird an korrekt konfigurierte Browser gzip-komprimiert übertragen.
  2. Hallo,

    Die Überschrift "Perl" in der Rubrik "PERL" ist derart nichtsaussagend, dass sie eine Zumutung für die anderen Benutzer ist.

    Heiner

  3. use Mosche;

    $value =~ s/<!--(.|\n)*-->//g;

    Ich hoffe, dass du dieses Stückchen Code nie einsetzen wirst, es sei denn, du weisst wirklich, was du tust (und hast).

    use Tschoe qw(Matti);

    --
      Anyone who quotes me in their sig is an idiot. -- Rusty Russell.
  4. Hi,

    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

    Übergibst du einem Script Werte nach dem Schema "script.pl?string=ernie und bert", müssen verschiedene Zeichen - hier die Leerzeichen - maskiert (ich hoffe, dass das der richtige Fachausdruck ist) werden, so würde aus obigem Beispiel "script.pl?name=ernie%20und%20bert". Der o.g. RegEx macht aus dem %20 wieder ein Leerzeichen.

    $value =~ s/<!--(.|\n)*-->//g;

    Hier wird imho alles zwischen den Kommentarzeichen "<!--" und "-->" entfernt, ich bin mir aber nicht sicher.

    Viele Grüße
    Torsten

    1. use Mosche;

      $value =~ s/<!--(.|\n)*-->//g;

      Hier wird imho alles zwischen den Kommentarzeichen "<!--" und "-->" entfernt, ich bin mir aber nicht sicher.

      Um Bezug auf mein eigenes Posting zu nehmen: es wird alles zwischen dem _ersten_ <!-- und dem _letzten_ --> gelöscht. Die g-Flag ist überflüssig.

      use Tschoe qw(Matti);

      --
        Anyone who quotes me in their sig is an idiot. -- Rusty Russell.
      1. Hi Matti,

        Um Bezug auf mein eigenes Posting zu nehmen: es wird alles zwischen dem _ersten_ <!-- und dem _letzten_ --> gelöscht. Die g-Flag ist überflüssig.

        Danke :)

        Viele Grüße
        Torsten