If I remember well, the + sign is an old style of printing a space and this style was used in web pages that use isindex forms.
Teddy ----- Original Message ----- From: "Matt Howard" <[EMAIL PROTECTED]> To: <beginners@perl.org> Sent: Friday, January 14, 2005 9:58 PM Subject: Re: urlencode and uri_escape Peter wrote: > Hi all, > > there seems to be a slight difference between the function urlencode > from php and the uri_escape in perl: > > the encoded result of "test !"§$%&/()=" is different: > in php: test+%21%22%A7%24%25%26%2F%28%29%3D > in perl: test%20%21%22%3F%24%25%26%2F%28%29%3D > > The difference is the space: in php it becomes a "+", in perl a "%20". > Which one is (academic) correct and can perl be told to behave just as > php does? > > Thanks for any answer! > Peter > According to the RFC, the only escape codes defined are the hex ones, though "+" is a reserved character. The usage of + as an encoding for space is a not explicitly documented in any RFCs, but is in common use for representing a space *in the query component of URIs*. I'm not sure if web servers will handle it correctly in the path or filename component. Therefore, I'd say that uri_encode is correct. I don't believe there's a way to get the uri_encode function to do that for you, but you can translate before or substitute after if you really need them to match. -- Matt Howard <[EMAIL PROTECTED]> -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response> -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>