packageとグローバル変数についてなんすけど、
次のようなサンプル作ったんですけど、
--- test.pl ---
#!/usr/bin/perl
use test2 ;
my $g_test = "exist!" ;
test2::test2() ;

---- test2.pm ----
package test2 ;
use vars qw( $g_test ) ;
sub test2
{
print STDOUT "run test2.pm\n" ;
print STDOUT "\$g_test=$g_test\n"
}
1;
-----------------

うまく行くと、
「$g_test=exist!」と表示されるはずなんですが、期待したとおりに動いてくれません
で、質問なんですが?

1.グローバル変数の宣言、定義は合ってますか?
2.packageからのグローバル変数の参照は合ってますか?
3.Perlのオブジェクト指向的なコーティングに参考になるURLを教えてください。
以上です、また正しい記述をご存知でしたら、教えてくださいませ。