質問: perlに関する質問です。 perlにおけるhttpリクエスト時のエンコードとデコードにおける下記の問題について、教えてください。 *問題点 コメント欄のコードでデコード処理をしています。 このままだと、ブラウザ側で'+'の文字列を含めたリクエストを送ると、サーバー側でリクエストを処理する際に、'+'が半角スペースに置換されてしまいます。(期待している挙動:'+'は別の文字コードにエンコードされ、 $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;の処理でデコードされる) $value =~ tr/+/ /;の処理をコメントアウトすると、'+'が半角スペースに置換される問題が解消されます。また、半角スペースのデコードがされないはずなのに、半角スペースが正常に処理され、全く問題がないように見えます。 これは、下記の私の認識と食い違います。どなたかご存知の方がいらっしゃいましたら、解説をお願い致します。 *現状の私の認識 urlにリクエストを投げるときの半角スペースは+にエンコードされるため、 サーバー側(perl側)で+を半角スペースにデコードしなければならない。 よろしくお願い致します。
回答: わからん