use strict; my @allow = ("\xA1","\x89","\x94"); my @disallow = ("\xB2","\xFF"); foreach my $char (@allow) { $char =~ s/[^0-9a-z\x80-\xA5_:,!\?\.\* -]//ig; print "wrong: char " . ord($char) . " should be allowed\n" if $char eq ''; } foreach my $char (@disallow) { $char =~ s/[^0-9a-z\x80-\xA5_:,!\?\.\* -]//ig; print "wrong: char " . ord($char) . " should not be allowed\n" if $char ne ''; } exit;