if ($STRING =~ m/[^\x00-\xFF]{1}/) { ... } #### if (length($STRING) > ($STRING =~ tr|\x00-\xFF|\x00-\xFF|)) { ... } #### sub isUnicode { my $L = defined $_[0] ? length($_[0]) : 0; for (my $i = 0; $i < $L; $i++) { ord(substr($_[0], $i, 1)) < 256 or return 1; } return 0; }