技術メモ

神奈川在住のITエンジニアの備忘録。おもにプログラミングやネットワーク技術について、学んだことを自分の中で整理するためにゆるゆると書いています。ちゃんと検証できていない部分もあるのでご参考程度となりますが、誰かのお役に立てれば幸いです。

文字参照を含むファイルを通常の文字列に変換して出力する

html の文字参照を含むファイルを通常の文字列に変換して出力する perl スクリプトを作成した。使い方は、perl "スクリプト名" "文字参照を含むファイル"

use strict;
use warnings;
use HTML::Entities;
use Encode;

my $file = $ARGV[0];
open(my $in,  "< $file") or die("Error :$!");

my $wholeText;
while (my $line = <$in>) {
    $wholeText .= $line;
}

$wholeText = HTML::Entities::decode_entities($wholeText);
#print encode('utf-8', $wholeText); # utf-8で出力する場合
print encode('sjis', $wholeText); # sjisで出力する場合

中身を簡単に説明すると、HTML::Entities::decode_entities() を使って、文字参照を含むファイルの中身を通常の文字列に変換して、文字コードを指定して出力している。