HTMLエンティティ文字をデコード、エンコードするPerlスクリプト
HTMLエンティティ文字とは 「&で始まる特殊文字」で、こんな感じに文章中に現れる。
Situé à 1000 mètres.
これをデコードしたら、「Situé à 1000 mètres.」というようになる。
コマンドライン上でパイプを使ってテキストファイルを流し込むスクリプトは次のようなものにしておけば、とりあえず変換だけはしてくれるようだ
デコード用スクリプト
#!/usr/bin/perl
use strict;
use warnings;
use utf8;
use HTML::Entities;
binmode(STDIN, ":utf8");
binmode(STDOUT, ":utf8");
my $str = join("\n", <>);
$str = HTML::Entities::decode_entities($str);
print $str;
エンコード用スクリプト
#!/usr/bin/perl
use strict;
use warnings;
use utf8;
use HTML::Entities;
binmode(STDIN, ":utf8");
binmode(STDOUT, ":utf8");
my $str = join("\n", <>);
$str = HTML::Entities::encode_entities($str);
print $str;