#!/usr/bin/perl use strict; use warnings; use Encode; use charnames qw(greek); binmode(STDOUT, ":utf8"); my $utf8_data = "<\N{alpha}\N{beta}\N{gamma}\N{delta}>"; print $utf8_data, "\n\n"; my $enc_utf8_data = Encode::encode_utf8($utf8_data); print Encode::is_utf8($enc_utf8_data) ? "\$enc_utf8_data marked as UTF-8\n\n" : "\$enc_utf8_data not marked as UTF-8\n\n"; print Encode::is_utf8($utf8_data) ? "\$utf8_data marked as UTF-8\n\n" : "\$utf8_data not marked as UTF-8\n\n"; if ($utf8_data eq $enc_utf8_data) { print "strings differ\n"; print "utf8_data ", unpack("H*", $utf8_data), "\n"; print "enc_utf8_data ", unpack("H*", $enc_utf8_data), "\n"; } else { print "strings are the same\n"; print "utf8_data ", unpack("H*", $utf8_data), "\n"; print "enc_utf8_data ", unpack("H*", $enc_utf8_data), "\n"; }