Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
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 having an uproarious good time at the Monastery: (4)
As of 2024-04-23 06:11 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found