jperlでeucテキストをURLエンコード

メモ.
http://www.geocities.co.jp/SiliconValley-Cupertino/6103/

sub url_encode { #jperlでのみ使用可
local($value) = @_;$value =~s/([^a-zA-Z0-9_@.\/-])/
(sprintf(“%%%04X”,unpack(“S”, “$1”))) eq “%0000” ?
sprintf(“%%%02X”,unpack(“C”, “$1”)) :
sprintf(“%%\?%04X\?%%”, unpack(“S”, “$1”))
/eg;#上記は、Jperlで二バイト文字も一文字として扱うことによる処理
$value =~s/\%\?([0-9a-fA-F][0-9a-fA-F])([0-9a-fA-F][0-9a-fA-F])\?\%/\%$2\%$1/g;
return($value);
}

今日からPerl/CGIプログラマー・辻豊史

http://www.geocities.co.jp/SiliconValley-Cupertino/6103/200212/200212.html

$euctxt =~ s/(\W)/sprintf(“%%%02X”, ord($1))/ego;
とかではないことに注意.