#!/usr/bin/env perl use strict; use warnings; { my %char_for_ent = qw{" " ' ' < < > >}; my $re = qr/(?x: ( @{[ join '|', keys %char_for_ent ]} ) )/; sub ent2char { $_[0] =~ s/$re/$char_for_ent{$1}/g; $_[0] } } print "IN: ${_}OUT: ", ent2char($_) while ; __DATA__ I said, "My name's Ken".
Here's some <em>emphasis</em>.