use Devel::Peek; my @strings = ( 'Panic Button', # String 1 'Bot\U00F3n de P\U00E1nico', # String 2 'Bot\U00F3n de P\U00E1nico\U200B', # String 3 '\U041a\U043d\U043e\U043f\U043a\U0430' . ' \U043f\U0430\U043d\U0438\U043a\U0438', # String 4 ); for my $string (@strings){ print STDERR qq(\n$string\n); $string =~ s~ \\U ( [0-9a-fA-F]{4,4} ) ~ chr(hex "0x$1"); ~gex; print "$string\n"; Dump $string; }