Forum Webscript.Ru
Программирование => Perl => Тема начата: Error202 от 04 Августа 2006, 13:26:15
-
есть переменная $line="mesto";
Есть переменная $mesto_two="20";
Как сделать что-то вроде ${$line_two}=10
Следовательно $mesto_two будет равно 10...?
-
Решил сам...
$tmp=$line.\'_two\';
${$tmp}=10; => $mesto_two==10...
Всем спасибо...
Если у кого-то есть более грамотное решение, буду рад его узнать...
-
Не как не могу понять зачем стольго возни с конструированием имен ссылок. Проще через хэш ИМХО.
-
Строки в имени переменной - это символические ссылки. (Вдруг кто не знает)
-
perldoc -q variable says:
...
How can I use a variable as a variable name?
Beginners often think they want to have a variable contain the name of
a variable.
Что не есть совсем правильно, так же не есть совсем правильно решить проблему через хеш переменных - хеш-хешей.
Но предложенное
${$tmp} = ... является в этом случае наиболее правильным, но вместо $tmp можно было использовать sprintf опять же не вводя лишнюю переменную.