|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Eugene Bodin 2:5020/400 23 May 2003 19:52:28 To : Rostislav Chebykin Subject : Re: Как же Switch? -------------------------------------------------------------------------------- Hello Rostislav, "Rostislav Chebykin" <philigon.kender@relcom.ru> wrote: RC> Изначальная задача заключалась в том, чтобы ставить слово после числа RC> в нужном падеже: "1 байт", "2 байта", "6 байтов", "3.14 байта" и т. д. [skip] RC> этот язык тупо и топорно. Так что хотелось бы как минимум найти RC> решение, в котором '$var == ' не повторяется четыре раза. Hапример, так (правда, только для натуральных чисел): sub tail { my $num = shift; for ($num) { # :-) ! /^\d+$/ && return " - странное число"; ( /1\d$/ || /[05-9]$/) && return "ов"; /[2-4]$/ && return "а"; /1$/ && return ""; 1 && return " - чего-то не учёл :-)"; } } while(<>){ chomp; print "$_ байт", tail($_) . "\n"; } Если не нравится: perldoc -q switch perldoc perlsyn Best regards, Eugene --- ifmail v.2.15dev5 * Origin: RadioScan (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/65992b31c76f.html, оценка из 5, голосов 10
|