| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: разработка для Web > поле со списком |
| Автор: киса2009 6.5.2010, 22:03 | ||
Есть такой тестовый скрипт с полем со списком
задача-выбранный элемент записать в файл подскажите что не так Добавлено через 4 минуты и 43 секунды косяки найдены |
| Автор: OutlawZ 9.5.2010, 11:14 |
| Лучше использовать модуль use Switch чем if ) |
| Автор: shamber 9.5.2010, 12:27 |
Откуда информация? |
| Автор: OutlawZ 9.5.2010, 23:21 | ||
perldoc -v switch Кусок из документации описания оператора:
|
| Автор: shamber 10.5.2010, 12:20 |
| OutlawZ, где написано про лучше? |
| Автор: OutlawZ 10.5.2010, 13:08 |
А где это должно быть написано? считайте что тут написано ), switch он и в Африке switch, компактней получается если смотреть со стороны PHP кодинга. Все по блокам case нежели грубых if вставок, хотя я не претендую , каждый пишет как ему удобней и советует так же ), я бы лично через switch бы сделал. |
| Автор: Pfailed 12.5.2010, 07:56 |
| О том, что Switch лучше там не написано, зато написано обратное. См. раздел http://search.cpan.org/~rgarcia/Switch-2.16/Switch.pm#LIMITATIONS. |
| Автор: odmink0 12.5.2010, 10:36 | ||
Ну то, что хуже - там точно не написано %) Модуль Switch лучше использовать чем "каскадный if" банально по причине лучшей читабельности кода. Тем более, что он входит в базовую поставку в версии 5.8.8 и выше (может и ниже, не знаю точно). Да, у модуля есть ограничения, но они практически не затрагивают код, написанный в соответствии с книгой "Perl Best Practices" того же автора (must read для каждого хорошего программиста). С другой стороны, этот модуль использует source parsing, что в принципе может стать источником непредсказуемых ошибок - "only perl can parse Perl". Ещё одним минусом модуля является наличие незакрытых багов 1-3-хлетней давности. Сейчас для подобных блоков лучше вместо Switch использовать конструкцию given/when, появившуюся в Perl 5.10 (который вышел почти 3 года назад и установлен сейчас на некоторых хостингах), а если в условном блоке происходит простое присваивание, то можно использовать "переключатели значения" (PBP, 6.16) или "табличные триады" (PBP, 6.17). |