型グロブ

テストコード

use strict;
use warnings;

package Hoge;
our $var = "hoge_var";
{
  our $var2 = "hoge_var2";
}
package Foo;

#%Hoge:: have hash keys named as var, var2
print join(', ',  keys %Hoge::), "\n";

#%Hoge:: have hash values that are type grob
my $glob = $Hoge::{'var'};
print $glob, "\n";

#this expression is equal to $Hoge::var
print ${$glob}, "\n";
print ${*Hoge::var}, "\n";
print $Hoge::var, "\n";

シンボルテーブル

実体はハッシュ。パッケージ名Packageだったら、そのシンボルテーブルは
%Package::
でアクセスできる。
ハッシュのキーはパッケージ内で使われている変数名、値は型グロブ。

型グロブ

*Package::varの形式。デリファレンスすれば変数を参照できる。*1
例えば、以下はどれも同じものにアクセスしている。*2

${$Package::{'var'}}
${*Package::var}
$Package::var

(参考)
http://perldoc.jp/docs/perl/5.8.8/perlmod.pod
http://loafer.jp/mixi/diary/class.xsp?2006-04-15-23-58

*1:サブルーチンなども参照できるが

*2:変数varはour宣言されているものとする