| [reply] |
Yes, it is. This is called a symbolic reference.
However, it is almost always better to use a hash, unless you are deliberately wanting to manipulate the symbol table. (If you don't understand what that means, you probably don't want to do it.)
If you gave us more info about what you're trying to do, we can give a more in-depth answer.
Being right, does not endow the right to be rude; politeness costs nothing. Being unknowing, is not the same as being stupid. Expressing a contrary opinion, whether to the individual or the group, is more often a sign of deeper thought than of cantankerous belligerence. Do not mistake your goals as the only goals; your opinion as the only opinion; your confidence as correctness. Saying you know better is not the same as explaining you know better.
| [reply] |
You mean something like this?
no strict 'refs';
$red = "#ff0000";
$color = ${ "red" };
Yes, it's possible :) and sometimes even useful, though in general you're better off reading (and understanding) perlref and using symbolic references, as the above are called, only when you really need them.
By the way, instead of "red" in ${ "red" } you can put any expression, which will be evaluated in scalar context to produce the name of the variable to use. Note that you can only access vars that are in the symbol table, so that if I did my $red = ...;, I would not have access to it using this technique.
Update: If this is your first go, maybe perlreftut would be an easier read. You cannot achieve deep understanding of Perl without reading the former, though. | [reply] [d/l] [select] |
Yes, but you really want to use a hash.
my $something = 'a_key';
$message{ $something } = ' ... ';
| [reply] [d/l] |