Подстановка числовых окончаний на Perl (perl)
Ключевые слова: perl, (найти похожие документы)
Date: Sat, 28 Feb 2004 23:08:19 +0500
From: Alexey Mahotkin <alexm@hsys.msk.ru>
Newsgroups: ftn.ru.perl
Subject: Подстановка числовых окончаний на Perl
NP> Есть ли такой модуль, чтобы подставлять окончания Hапример, - 100
NP> файлОВ - 1 файл - 2 файлА
руками пишется за шесть минут.
sub plural_accusative {
my $class = shift;
my $n = shift;
my ($thing1, $thing2, $thing5) = @_;
return $thing1 if $n == 0;
my $n1 = $n % 100;
return $thing5 if (($n1 >= 11) && ($n1 <= 19));
my $n2 = $n % 10;
return $thing2 if (($n2 >= 2) && ($n2 <= 4));
return $thing1 if ($n2 == 1);
return $thing5;
}
Вызывается как plural_accusative($n, "файл", "файла", "файлов");