UTF-8 の範囲外の文字かどうか、どうやって判別したらいいのだろう - @kyanny's blog こんなんでどうでしょうか。 check_utf8.pl #!/usr/local/bin/perl use strict; use warnings; use Encode; while (<>) { eval { decode_utf8($_, Encode::FB_CROAK); }; if ($@) { warn "line $.: invalid utf-8 string"; } } というか、decode_utf8できるかってことだけど。 適当に $ cat utf8.txt euc-jp.txt sjis.txt utf8.txt > mixed.txt $ ./check_utf8.pl < mixed.txt とかで。 追記 なんとなくUTF-8じゃない部分のエンコーディ