#!perl use strict; use warnings; use charnames ":full"; my @letters = qw(a b c d e f g h i j k l m n o p q r s t u v w x y z); my %accents = ( grave => chr(0x300), acute => chr(0x301), circumflex => chr(0x302), tilde => chr(0x303), breve => chr(0x306), diaeresis => chr(0x308), ring => chr(0x30A), doubleacute => chr(0x30B), doublegrave => chr(0x30F), cedilla => chr(0x327), ); open MEHH, ">unicode.txt"; binmode(MEHH, ":utf8"); foreach my $letter (@letters) { my $capital = -1; for (1..2) { $capital++; foreach my $accent (keys %accents) { my $name = "LATIN " . ($capital ? "CAPITAL " : "SMALL ") . "LETTER " . uc($letter); print MEHH chr(charnames::vianame($name)) . "$accents{$accent} ($name $accent)\n"; } print MEHH "\n"; } print MEHH "\n\n"; } close MEHH;