in reply to
Script Stripper
@foo{ qw/a b c/ }++ on an empty %foo, will have $foo{a} be 1 and $foo{b} and $foo{c} be undef. That's no problem, because it's only being used for exists. You can have $foo{a} be undef too, by assigning an empty list to the hash splice: @foo{ qw/a b c/ } = ()
By the way, think about these:
<style> span.blah { background-color: expression(alert('Hello, World!'
+)) } </style>
<a href="javascript:alert('Hello, World!');">hi mom</a>
<img src="fourohfour" onerror="alert('Hello, World!');">
It may be better to define what IS allowed, instead of what's NOT. HTML changes continuously, and browsers don't always follow specs...
For the quotes: just use
HTML::Entities, and have it change double quotes to &
quot;, zo you can safely use double quotes.
2;0 juerd@ouranos:~$ perl -e'undef christmas'
Segmentation fault
2;139 juerd@ouranos:~$