[Catalyst] + in GET param

Will Hawes wdhawes at gmail.com
Tue Sep 11 15:16:19 GMT 2007


On 11/09/2007, Gavin Henry <ghenry at perl.me.uk> wrote:
> Dear list,
>
> I have created a url via uri_for that produces (hashref passed in):
>
>      http://myserver.com/blah/?username=first.last%2Bme%40gmail.com
>
> so the + is escaped into %2B. Fine.
>
> This param comes in via:
>
> $c->stash->{username} = $c->req->param('username');
>
> A warn on $c->req->param('username');
>
> shows (as does the debug console via _server.pl and via Apache):
>
>      first.last me at gmail.com
>
> as a + sign is a shortcut for space in a URL. The above is a valid e-mail
> address which I need to cater for.
>
> Any ideas on how to get the first.last+me at gmail.com into Catalyst without
> the + getting turned into a space?
>
> If it's not possible I can do a redesign of this part of the site.
>
> Thanks,
>
> Gavin.

If I understand you correctly, this might be useful:

http://search.cpan.org/dist/URI/URI/Escape.pm



More information about the Catalyst mailing list