in reply to Range of chars except one

I'm surprised no one's mentioned tr///; You'll still have to give it two ranges, but it works well.. It also has the added advantage (so far as i know) of being more efficient than s///;
You can give it the hex values, for example:
$string =~ tr/\x00-\x04\x07-\x09//d;

This'll get rid of the range \x00 through \x04, leave characters \x05 and \x06, and delete the range \x07 through \x09...
Of course.. it's too early for me to think straight, so the ranges given are bogus, but you get the idea..