quoting @quentinmit:

> Is it safe to use a range like this in a potentially non-POSIX locale?

Looking at [perldoc for character ranges](http://perldoc.perl.org/perlrecharclass.html#Character-Ranges):
> Note that the two characters on either side of the hyphen are not necessarily both letters or both digits. Any character is possible, although not advisable. `['-?]` contains a range of characters, but most people will not know which characters that means. Furthermore, such ranges may lead to portability problems if the code has to run on a platform that uses a different character set, such as EBCDIC.

So maybe I should use `[\0-\x20]`?  Or is that not safe either?  On the other hand, according to [Wikipedia](http://en.wikipedia.org/wiki/EBCDIC#Codepage_layout), `[\0- ]` is closer to what we want to do than `[\0-\x20]`, because space is `\x40` in EBCDIC and there's nothing we want before that.  Alternatively, maybe we should specify permitted characters to be anything above `\x7F` (anything above 127), together with `[[:graph:]]` or `[[:print:]]` (see [perldoc's POSIX Character Classes](http://perldoc.perl.org/perlrecharclass.html#POSIX-Character-Classes))? Do people who know more about perl/locals have input?

> Also, the commit message says "less than !" (0x21), but the range appears to be "less than space" (0x20).

The range is "less than or equal to space", which is the same as "less than !".