In Damian Conway's "Abbot and Costello Who's on First'" Parse::RecDescent example code in "Computer Science & Perl Programming" he starts the code with the line
use vars qw( %base %man @try_again);and then in the action blocks in the grammars uses those variables with the syntax, e.g., $::man{$item[4]} and @::try_again.
As I thought the point of the 'use vars' pragma was to allow the variables to be used globally without writing the fully qualified name, I'm puzzled as to why the double colons are used.
In reply to What does '::' mean in constructs '$::foo' and '@::foo'? by jmeek
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |