Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re^3: How to declare globally visible subroutine like built-in ones ? Is it possible?

by Anonymous Monk
on Nov 06, 2007 at 13:00 UTC ( #649204=note: print w/replies, xml ) Need Help??


in reply to Re^2: How to declare globally visible subroutine like built-in ones ? Is it possible?
in thread How to declare globally visible subroutine like built-in ones ? Is it possible?

If you're looking to avoid the overhead of loading all the submodules in y.pm but still having access to the code of y.pm proper, you could consider refactoring so that the big load/export is visible as y, but the actual code of y.pm occurs in y/actual.pm

Then in y.pm

require y::actual; push @ISA, 'y::actual';

This would leave y.pm with the same public interface, but give you the option of a leaner y::actual or y::tiny or y::whatever available. This will only work of course, if the code in y.pm doesn't itself depend on those submodules.

You could also look at autoloading and/or custom import subroutines

If you're just woried about namespace polution, s/use/require/

  • Comment on Re^3: How to declare globally visible subroutine like built-in ones ? Is it possible?
  • Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://649204]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (7)
As of 2023-11-28 22:14 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?