in reply to Re: what does @$ mean?
in thread what does @$ mean?

in part because it helps convey what's going on Not any more or less than @$msg alone

Replies are listed 'Best First'.
Re^3: what does @$ mean?
by Your Mother (Archbishop) on Oct 01, 2008 at 07:05 UTC

    The braces make it clear that @$ is not a special sigil; that it's still an array with something going on inside. It also enhances readability on long or compound (deep hash access, for example) variable names. IIRC, there used to be a case where it further was necessary to disambiguate the resolution of variables but I'm not sure about that or if it's still true.

      If you don't know what @$foo means, you're not going to know what @{$foo} means, both being basic perl syntaxt.

        That's how you see it because you are entirely familiar with it. Punctuation and prudent whitespace can especially help a newcomer to parse any kind of semantic content. "Reeval" and "re-eval" may convey the same meaning but the first is more confusing to the uninitiated and likely to mentally parse as "ree-val." I didn't mean that @{$foo} would be automatically understood, only that it is more likely to convey the meaning "array" which is a better starting point for a novice than "crazy compound sigil which I can't seem to find in any of the documents or Google."