#-############################################# # Sub: Strip Scripts # Strips client-side script tags from HTML #-############################################# sub strip_scripts {    my $self = shift;    my $data = shift;    local $_;        $$data =~ s/(<[\s\/]*)(script\b[^>]*>)/$1x$2/gi;    while ($$data =~ s/(<[^>]*?)\b(on\w+\s*=)/$1x$2/og) {}    return $data; } #-############################################# # Sub: Disable HTML #-############################################# sub disable_html {    my $self = shift;    my $$data = shift || return 0;    local $_;        my %subst = (        q|&| => q|&|,        q|"| => q|"|,        q|<| => q|<|,        q|>| => q|>|,        q|'| => q|&'|,        q|`| => q|&`|,     );        $$data =~ s/($_)/$subst{$1}/sg foreach keys %subst;    return $data; }