use locale; use POSIX qw (locale_h); .... setlocale(LC_CTYPE, 'Russian_Russia.20866') or die "Can't set locale: $!"; foreach $name (sort keys %authors) { ($letter) = ($name =~ /^(.)/); $letter = uc $letter; if ($letter ne $last_letter) { print IND "