The problem is that you've used not-word-characters (and I may be wording (heh) that wrong) inside the braces of a hash access making it parse as an expression instead of a bareword string. You don't need to use an intermediary, but you need to properly quote your key "string" so that it's a valid expression instead, like $test_hash{ qq{${test}_bar} } for example.
Addendum: just as you couldn't have my $foo = ${test}_bar; you'd instead need my $foo = "${test}_bar"; because the former isn't a simple bareword (but you could do my $bar = test_bar (so long as the subs strict-ness isn't in effect)).
The cake is a lie.
The cake is a lie.
The cake is a lie.
In reply to Re: curly braces inside of curly braces
by Fletch
in thread curly braces inside of curly braces
by Special_K
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |