# Testet, ob ein Text UTF-8 kodiert ist sub is_utf8{ my $text = shift; no warnings; use bytes; # es sind bytes zu verglichen # text in latin umwandeln, iso-8859-1 my $iso = pack('C*', unpack('U0U*', $text)); # diesen text wieder in utf-8 kodieren my $utf = pack('U0U*', unpack('C*', $iso)); # wenn beide Bytes-Ketten gleich sind, ist $text utf-8-kodiert return ($utf eq $text) ? 1 : 0; }