X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=lib%2FCatalyst.pm;h=f9ab9c4690082941dae17d4c256e402709ed1793;hp=549af887669b4d60733c07737f1ff6c4927e7212;hb=f91554831ad9972ba44453f69a6b633fd3dfa710;hpb=83312afd857057c42c753255f804027ce3a76ce9 diff --git a/lib/Catalyst.pm b/lib/Catalyst.pm index 549af88..f9ab9c4 100644 --- a/lib/Catalyst.pm +++ b/lib/Catalyst.pm @@ -1199,7 +1199,7 @@ sub uri_for { ( scalar @args && ref $args[$#args] eq 'HASH' ? pop @args : {} ); carp "uri_for called with undef argument" if grep { ! defined $_ } @args; - s/([^A-Za-z0-9\-_.!~*'()+])/$URI::Escape::escapes{$1}/go for @args; + s/([^$URI::uric])/$URI::Escape::escapes{$1}/go for @args; unshift(@args, $path); @@ -1233,7 +1233,7 @@ sub uri_for { $_ = "$_"; utf8::encode( $_ ) if utf8::is_utf8($_); # using the URI::Escape pattern here so utf8 chars survive - s/([^A-Za-z0-9\-_.!~*'()])/$URI::Escape::escapes{$1}/go; + s/([^A-Za-z0-9\-_.!~*'() ])/$URI::Escape::escapes{$1}/go; s/ /+/g; "${key}=$_"; } ( ref $val eq 'ARRAY' ? @$val : $val )); } @keys);