Url encode in Perl im PHP Stil

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • Url encode in Perl im PHP Stil

    Hi,

    ich möchte in Perl eine Url genau im gleich Stil encodieren wie mit der PHP Funktion urlencode() .

    Das Problem ist, dass die klassischen Methoden von Perl statt einem Leerzeichen %20 setzen, und nicht wie in PHP ein + .

    Kennt jemand vielleicht eine gute Funktion? Hab jetzt schon eine ganze Weile gesucht und nichts gefunden... Muss auch sagen, dass ich in Perl nicht der so fit bin um es manuell zu encodieren :(

    Bin für jeder Hilfe sehr dankbar :)

    grüße Janni
  • Schau dir dazu mal das urlencode Manual von PHP an um den Unterschied zu rawurlencode zu erfahren:
    Gibt einen String zurück, in dem alle nicht-alphanumerischen Zeichen außer -_. durch ein Prozentzeichen (%) gefolgt von zwei Hexadezimalwerten und Leerzeichen durch ein Plus (+) ersetzt werden. Das Encoding geschieht auf dem gleichen Wege, wie auch durch ein WWW-Formular gepostete Daten kodiert werden - das entspricht der Auszeichnung des Dateityps application/x-www-form-urlencoded. Diese Auszeichnung differiert von der Kodierung nach » RFC 1738 (siehe auch rawurlencode()), bei der aus historischen Gründen das Leerzeichen als Pluszeichen (+) kodiert wird.


    Der einzige Unterschied ist also das %20.
    Das kannst du ja einfach ersetzen:

    Source Code

    1. $getstring =~ s/\%20/\+/g;
    (ungetestet)