in reply to HTML Sanitizer (removes unwanted tags)

From a user interface standpoint, you might want to simplify the configurations section:
## BEGIN CONFIGURE my @KEEP = qw(a p img br); ## END CONFIGURE ... ... # just before the business loop: my %keep; @keep{@KEEP} = (); ... ... "it's good" if exists $keep{$1}; # or whatever
That data structure requiring them to specify the whole hash is troublesome.

-- Randal L. Schwartz, Perl hacker