Forum Webscript.Ru
Программирование => Perl => Тема начата: KiLLjoY aka SerZH от 10 Августа 2006, 16:30:13
-
Вот такой у меня вопрос.. или задача!
Нужно сделать функцию которая склоняет скажем слово \'Месяц\' по числу находящемуся слева соответственно.
Есть массив в котором находятся регулярные выражения в строковом виде. Perl имеет установленную локаль cp1251.
Запускаем функцию например так - &decline_string_by_digits(1251Часов);
- (естественно на выводе должно быть 1251 Час)
Вот кусок из функции &decline_string_by_digits(); :
for(0..$#{$ARRAY[3]}){ # перебираем псведо-регулярные выражения из массива
my $pat = qr/$ARRAY[3]->[$_]/;# компилируем строки в настоящие рег выражения
print $word =~ /$pat/; Сравниваем...
}
Сравнение неудачно...
В чём дело?
P.S.: Если все слова перевести в латиницу(на англицкий) - то всё зашибись, а с русским не работает.
-
KiLLjoY aka SerZH:
Perl имеет установленную локаль cp1251.
Я не понял что имеется ввиду.
Посмотрите:
perldoc perllocale
-
Я уже разобрался.. спасибо!