О безуспешности поисков

Aug 22, 2007 19:23

Пытался найти в завалах своих перлоскриптов функцию, возвращающую правильное слово в зависимости от идущего перед ним числа. Не нашёл. Пришлось взять валяющийся на видном месте пример на php и перевести его на перл:
=head1 METHODS =head2 after_number Возвращает, в зависимости от $howmany, правильную форму слова: after_number(10, 'ив', 'ива', 'ивы') == 'ив' after_number(21, 'ив', 'ива', 'ивы') == 'ива' after_number(32, 'ив', 'ива', 'ивы') == 'ивы' =cut sub after_number { my ($howmany, $s0, $s1, $s2) = @_; return $s2 if ($howmany != int $howmany); # Нецелое число: 1.5 землекопа my $c = $howmany % 100; # Оставляем 2 последних цифры # Особые варианты: x11..x14 return $s0 if ($c >= 5 && $c <= 20); $c %= 10; # Оставляем последнюю цифру return $s1 if ($c == 1); return $s2 if ($c >= 2 && $c <= 4); return $s0; } # sub after_number
Чую, пора на CPAN выкладывать, чтобы в следующий раз не искать.

php, программизм, число, русский язык, perl, номер, cpan

Previous post Next post
Up