Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

blogical's scratchpad

by blogical (Pilgrim)
on Mar 13, 2006 at 16:44 UTC ( [id://536303]=scratchpad: print w/replies, xml ) Need Help??

Context

MyModule.pm
#!/usr/bin/perl -w use strict; package MyModule; use Exporter; our @ISA = qw( Exporter ); our @EXPORT = qw( MyFunc ); # ... some other subs go here ... [1] sub MyFunc { return 'Oh yeah!'; } # ... some other subs go here ... [2] 1; }
SomeOOModule.pm
#!/usr/bin/perl -w use strict; use MyModule; # try 1 { package SomeOOModule; use MyModule; # try 2 # ... some other subs go here ... [3] sub GetFuncy { warn '------ ' . __PACKAGE__ . " ------\n"; #warns "------ SomeOOModule ------" use MyModule; # try 3 return MyFunc; } # ... some other subs go here ... [4] }
MyProgram.pl
#!/usr/bin/perl -w use strict; print SomeOOModule::GetFuncy();

Question

When might this `use MyModule;` not import MyFunc into SomeOOModule::?

Answers

  • When MyModule.pm isn't found in @INC. Fix: Add it.
  • When the namespace has been switched with another package declaration somewhere in 3. Fix:
  • When the modules are recursive. Fix: Fix the recursion, or put the Export code into a BEGIN block.
  • YOUR ANSWER TO BE ADDED HERE

Extra Credit

Point out where a deviation from the code given might create a different reason for this problem to occur.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others about the Monastery: (6)
As of 2024-03-28 11:26 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found