ага, хорошо
вариант 1
$string =~ s/([\\xE0-\\xFF])/sprintf( "%%%02X", $1 )/eg;
вариант2 (более быстрый)
# предварительно создадим массив следующего содержания
for( 0 .. 255 ) {
$chr2hex{ chr() } = sprintf( "%%%02X", $_ );
}
# и упрощаем рег. выражение
$string =~ s/([\\xE0-\\xFF])/$chr2hex{$1}/g;