わたなべです.

:まつもと ゆきひろです.

:perlで-p optionと組み合わせた場合どんな感じになりますか?

#!/usr/local/bin/perl -p
BEGIN {
    %entity = (
        lt     => '<',     #a less-than
        gt     => '>',     #a greater-than
        amp    => '&',     #a nampersand
        quot   => '"',     #a (verticle) double-quote
    );
    for $chr ( 0 .. 255 ) { 
        $entity{ '#' . $chr } = chr $chr;
    }
}
s/(&(\#\d+|\w+);?)/$entity{$2} || $1/gex;

こんな感じのやつとか(striphtml から拝借).

:rubyではどうあるべきだとおもいますか?

これが難しいですね.
prologue
  ...
end

epilogue
  ...
end
いまいちか.

:# 文法に組み込む必要があるので(予約語も増える),ちょっと慎重
:# にならざるをえませんが,前向きに検討します.
:
:次のリリースには間に合いませんけど(断言)

あまり要望がないならいいです.

-- 
わたなべひろふみ