AlexBausW: String 2 url encoded

Beitrag lesen

Hallo Cheatah,

use CGI;
print header, CGI::escape('test 4576 + $%&%&/!""&;$%&%/&/(');

Vielen Dank für die korrekte Syntax :-). Kurz nach Dir hab` ich unten in Unwissenheit glatt eine falsche gepostet :-( *schäm*.

Warum es mit CGI::Enurl nicht geht weiß ich nicht, das Modul kenne ich nicht. Was sagt denn perldoc CGI::Enurl?

Hier ein Auszug. Demnach sollte die Syntax die Alex verwendet richtig sein, sofern ich nichts übersehen habe.

==============================
This is a little module made for CGI scripting. It encodes the parameters
to be passed to a CGI. It does nothing more, so it's much smaller and loads
more quickly.

Functions

enurl STRING
enurl ARRAY
enurl HASH

Encodes the parameter. If the parameter is a single string
it encodes it and returns the encoded form.

If it is an array or a reference to an array it encodes all
items and returns them joined by '&'.

If it is a hash it encodes the values and return a querystring in form
"key2=encoded_value1&key2=encoded_value2&...".

!!! Please note that a hash in a list context returns a list of all
keys and values. This means that if you call enurl(%hash) you will NOT
get what you may thing you should. You HAVE to use enurl(%hash) !!!

enURL STRING

Encodes the parameter, this version doesn't encode '=' and '&' characters,
so you should make sure they are not present in the data.

Notice the difference :

enurl 'a&b=f o o'   =>   'a%26b%3Df+o+o'
enURL 'a&b=f o o'   =>   'a&b=f+o+o'

Wie unten schon erwähnt ist die Funktion enurl_str() aus CGI.pm übernommen.

Gruß AlexBausW