| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > Создание переменных во время выполнения |
| Автор: andryas 7.10.2010, 09:12 |
| Здравстуйте. Никак не получается решить следующую задачу: Через STDIN поступает текст в формате: ИМЯ_ПЕРЕМЕННОЙ_1:ЗНАЧЕНИЕ_1 ИМЯ_ПЕРЕМЕННОЙ_2:ЗНАЧЕНИЕ_2 .... ИМЯ_ПЕРЕМЕННОЙ_N:ЗНАЧЕНИЕ_N Необходимо создавать переменные с именем "ИМЯ_ПЕРЕМЕННОЙ" и присваивать им значения "ЗНАЧЕНИЕ". Возможно ли такое? |
| Автор: Logo 7.10.2010, 09:20 | ||
Возможно, но скорее всего вам нужен хеш
|
| Автор: Jimy 7.10.2010, 09:37 | ||
Не покажите пример реализации? |
| Автор: sir_nuf_nuf 7.10.2010, 09:40 | ||
|
| Автор: andryas 7.10.2010, 09:46 |
Спасибо, действительно подходит. Но пример с созданием переменной тоже интересует sir_nuf_nuf Спасибо большое, точно так же реализовал |
| Автор: Egik2 7.10.2010, 10:38 | ||
Пример кода:
Весь сок в $$var="hello"; |
| Автор: vadiml 7.10.2010, 10:45 |
| Можно и переменные, через ссылки, посмотрите в camelbook главу "Ссылки", часть "символические ссылки". если кратко: no strict 'refs'; ${'varname'} = 'varbody'; print $varname; |
| Автор: andryas 7.10.2010, 10:46 |
| Спасибо всем, задача успешно решена с использованием хеша. |
| Автор: Jimy 7.10.2010, 13:33 | ||||
Четно, не ожидал что такая конструкция сработает. Точнее даже наоборот, был уверен что не сработает, поэтому даже не попробовал |