X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=lib%2FCatalyst.pm;h=25ebecf81b5f0f20038ffd342e91bcf65195bbae;hp=27a232c58dcae652f2409b401fd5f7371c45a522;hb=1f851263ba70ba7d398ed19b45eaaca482f5aaa3;hpb=73c6a22a236c09a6a3db9c58b720c8a5f758911d diff --git a/lib/Catalyst.pm b/lib/Catalyst.pm index 27a232c..25ebecf 100644 --- a/lib/Catalyst.pm +++ b/lib/Catalyst.pm @@ -1232,12 +1232,12 @@ sub uri_for { my $key = $_; $val = '' unless defined $val; (map { - $_ = "$_"; - utf8::encode( $_ ) if utf8::is_utf8($_); + my $param = "$_"; + utf8::encode( $param ) if utf8::is_utf8($param); # using the URI::Escape pattern here so utf8 chars survive - s/([^A-Za-z0-9\-_.!~*'() ])/$URI::Escape::escapes{$1}/go; - s/ /+/g; - "${key}=$_"; } ( ref $val eq 'ARRAY' ? @$val : $val )); + $param =~ s/([^A-Za-z0-9\-_.!~*'() ])/$URI::Escape::escapes{$1}/go; + $param =~ s/ /+/g; + "${key}=$param"; } ( ref $val eq 'ARRAY' ? @$val : $val )); } @keys); }