Подстановка числовых окончаний на Perl (perl)
Ключевые слова: perl,  (найти похожие документы)
Date: Sat, 28 Feb 2004 23:08:19 +0500
From: Alexey Mahotkin <[email protected]>
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, "файл", "файла", "файлов");