<?xml version="1.0" encoding="windows-1252"?>
<node id="986646" title="Re^3: Bareword Package Names" created="2012-08-09 23:03:35" updated="2012-08-09 23:03:35">
<type id="11">
note</type>
<author id="982107">
jmlynesjr</author>
<data>
<field name="doctext">
&lt;p&gt;See Programming Perl 4th Edition page 389 - Symbol Tables.&lt;/p&gt;

&lt;p&gt;"Symbol tables are stored in a hash whose name is the same as the package, but with two colons appended. The main symbol table's name is thus %main::."&lt;/p&gt;

&lt;p&gt;"Likewise, the symbol table or the Red::Blue package is named %Red::Blue::."&lt;/p&gt;

&lt;p&gt;James&lt;/p&gt;

&lt;p&gt;Also see page 423 - Package-Quoted Classes.&lt;/p&gt;

&lt;p&gt;"The final syntactic ambiguity with the indirect object style of method invocation is that it may not be parsed as a method call at all, because the current package may have a subroutine of the same name as the method...there is a way to resolve this ambiguity while still keeping the indirect object syntax: package-quote the class name by appending a double colon to it."&lt;/p&gt;

&lt;code&gt;   $obj = method CLASS::;   # forced to be "CLASS"-&gt;method&lt;/code&gt;</field>
<field name="root_node">
986250</field>
<field name="parent_node">
986319</field>
</data>
</node>
