The reason why things are the way they are, is to allow code like this:
sub amp { ... }
my $coderef = \&
Unfortunately, your request would render that as:
sub amp { ... }
my $coderef = \&
This bug is caused by not encoding the semicolon and ampersand of the HTML entity. The encoding of the ampersand and semicolon must be done in the same code to not confuse from a past converted HTML entity and must be the first HTML filter.
Any filter for HTML code that does not encode ampersand and semicolon will have this problem.
This problem was addressed in a past version of my module AUBBC v4.01 - 11/08/2010
New version located at AUBBC2
The fix I use now looks like this.
s[(&|;)][$1 eq '&' ? '&' : ';']gex;
Update: spelling
Update: My bad! Because PerlMonks mixes the HTML entity's with HTML names, will always cause a problem somewhere and no one filter will work in every case. You have to type the HTML name or your S.O.L..
Hay, welcome to PerlMonks. The place where you need to learn HTML before you can post your Perl question. ッ