Я пытаюсь исправить сортировку по армянскому алфавиту, потому что все стандартные инструменты Unix и языки программирования сортируют буквы и слова в результате только для одного из 2 основных диалектов (западного).
Перевести это в техническую задачу - переупорядочить один из символов " ւ ", поместить его в другое место среди букв, скажем, сделать его последним символом, чтобы слова были упорядочены правильно на заказ диалект (восточный). Лингвистически говоря на восточном диалекте, этот символ " ւ " не написан "автономно", а является частью буквы, которая написана двумя символами " ու ". Текущая сортировка помещает букву " ու " за 2-буквенными конструкциями "ոք" или "ոփ".
По сути, это должно быть полностью похоже, если вы хотите сделать e. г. буква "v" будет на месте буквы "z" в латинском алфавите.
Я пытаюсь использовать что-то вроде
#!/usr/bin/perl -w
use strict;
my (@sortd, @unsortd, $char_u, $char_x);
#@unsortd = qw(աբասի ապուշ ապրուստ թուր թովիչ թոշակ թոք);
@unsortd = qw(ու ոց ոք ոփ);
@sortd = sort {
$char_u = "ւ";
$char_x = split(//, @unsortd);
if ($char_u gt $char_x) {
1;
} else {
return $a cmp $b;
}
} @unsortd;
print "@sortd\n";
но это не масштабируется для целых слов, исправлены только 2 буквенные формы.
ОБНОВЛЕНИЕ: мне удалось решить эту проблему с помощью функции tr для сопоставления букв цифрам, как показано в Perlmonks