$ cat dir_two/my_package.pm package my_package; require(Exporter); @ISA = qw(Exporter); @EXPORT = qw( %my_hash ); %my_hash = ( 'my_val' => 7 ); print "my_package is called!\n"; 1; #### UTKU@utkuhome ~/devel/my_script $ cat my_script.pl #!/usr/bin/perl -w use Data::Dumper; use dir_two::my_package qw( %my_hash ); print @INC; print Dumper(\%my_hash); #### UTKU@utkuhome ~/devel/my_script $ ./my_script.pl my_package is called! Name "main::my_hash" used only once: possible typo at ./my_script.pl line 10. /usr/lib/perl5/5.8/cygwin/usr/lib/perl5/5.8/usr/lib/perl5/site_perl/5.8/cygwin/usr/lib/perl5/site_perl/5.8/usr/lib/perl5/site_perl/5.8/cygwin/usr/lib/perl5/site_perl/5.8/usr/lib/perl5/vendor_perl/5.8/cygwin/usr/lib/perl5/vendor_perl/5.8/usr/lib/perl5/vendor_perl/5.8/cygwin/usr/lib/perl5/vendor_perl/5.8.$VAR1 = {};