Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Perl: Общие вопросы > Странный вызов подпрограммы |
Автор: Wowa 10.4.2002, 00:59 |
$temp='Calc'; Как мне теперь через переменную $temp вызвать подпрограмму Calc ? |
Автор: *NS* 10.4.2002, 18:20 |
хмм а для чего это надо? по подробнее объясни плз |
Автор: Wowa 10.4.2002, 19:01 |
Поступают скрипту некие параметры, он на них смотрит, и исходя из этого должен запускать соответствующую подпрограмму. Для простоты понимания: name.pl?sub=edit Вот мне и надо, глядя на $in{sub} запустить подпрограмму edit Делать все через if () {} elsif {} elsif {} ..... не хочется. Устроил бы вариант типа: &$in{sub}; ![]() ![]() ![]() Есть альтернатива? |
Автор: *NS* 11.4.2002, 11:29 |
по моему нету... только через иф елзе... |
Автор: BlackLFL 15.3.2006, 19:57 | ||
|
Автор: tishaishii 15.3.2006, 23:22 | ||||||
Нафига?
|
Автор: arto 15.3.2006, 23:30 |
1. *f = "func"; f(); 2. %h = ('func' => \&func); $h{'func'}(); |
Автор: regis 16.3.2006, 13:04 |
Запихнуть в хэш имена параметров в качестве ключей, и ссылки на функции -- в качестве значений. Куда более элегантное, и проще сопровождаемое решение, чем верница if/else... |
Автор: nitr 16.3.2006, 16:19 |
См. в форуме любую замену switch/C =) |
Автор: tishaishii 18.3.2006, 01:31 | ||
|