my %entref = (
yen => 1,
euro => 1,
amp => 1,
copy => 1,
# 気が済むまで並べる
);

$text =~ s/(?:(&(\w+);)|&)/$1&&$entref{$2}?$1:"&"/ge;