Interesting. But it looks like there are some important differences:
The mod_perl version proxies everything, not just ad servers.
However it only blocks images; sometimes ads come in the form
of javascript or even java. But they usually get sent from
the same server for tracking purposes, so my script will block
all ad content from a given server. (You could probably
alter the mod_perl version to do this though)
The mod_perl version actually retrieves the entire file it blocks,
which I think is a waste of bandwidth, but you're forced into
that if you use LWP (as far as I know). That's why I use the
Socket module, and close the connection as soon as I have the
headers. The trade-off for this is my version will not work
through another proxy server.