Perl HTML数値文字参照(HTMLエンティティとも呼ばれている模様)

あ

などの 主にWEB上でユニコード文字の文字コード化に使われているHTML数値文字参照の変換スクリプト

use Encode qw/ encode decode from_to /;
use HTML::Entities;

my $str = 'abcあDEF';

# HTML数値文字参照はセミコロンで終わっていなければならない
HTML::Entities::decode_entities( $str );

# シフトJISに変換できない文字はHTML数値文字参照に
$str = Encode::encode( 'shiftjis', $str, Encode::FB_HTMLCREF );

print $str > abcあDEF

use Encode qw/ encode decode from_to /;

my $str = 'abcあDEF';

$str =~ s/\&\#(\d{1,5});?/encode('shiftjis',decode('utf16be',pack("n*",$1)),Encode::FB_HTMLCREF)/eg;

print $str > abcあDEF