in reply to Re^3: access to hashes with same name, from different packages with same name
in thread access to hashes with same name, from different packages with same name
The script that is expected to take this package is following:$ 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;
Now when the script is called, following comes out to stdout: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);
Where is my mistake? Update: I have done the thing you recommended, ie. the package name dir_two::my_package;, it works, thanks. I am not allowed to alter the package namespaces. Is there any other way to do it?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 l +ine 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/cygw +in/usr/lib/perl5/site_perl/5.8/usr/lib/perl5/vendor_perl/5.8/cygwin/u +sr/lib/perl5/vendor_perl/5.8/usr/lib/perl5/vendor_perl/5.8/cygwin/usr +/lib/perl5/vendor_perl/5.8.$VAR1 = {};
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^5: access to hashes with same name, from different packages with same name
by almut (Canon) on Feb 11, 2007 at 16:25 UTC | |
by utku (Acolyte) on Feb 11, 2007 at 16:33 UTC | |
by almut (Canon) on Feb 11, 2007 at 16:56 UTC | |
by utku (Acolyte) on Feb 11, 2007 at 18:08 UTC |