Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re: Re: Export all subs from a module

by graq (Curate)
on Oct 31, 2001 at 17:27 UTC ( [id://122336]=note: print w/replies, xml ) Need Help??


in reply to Re: Export all subs from a module
in thread Export all subs from a module

I was thinking along the lines of:
@EXPORT = keys(%MyModule::);

<a href="http://www.graq.co.uk">Graq</a>

Replies are listed 'Best First'.
Re: Re: Re: Export all subs from a module
by davorg (Chancellor) on Oct 31, 2001 at 17:34 UTC

    That's nice, but it potentially exports too much - not just the subs, but everything in stash.

    --
    <http://www.dave.org.uk>

    "The first rule of Perl club is you don't talk about Perl club."

Re: Re: Re: Export all subs from a module
by ChemBoy (Priest) on Oct 31, 2001 at 21:30 UTC

    To do this in a way that doesn't export package vars as well (which I believe was davorg's objection), perhaps this would work:

    @EXPORT_OK = grep {defined *{$MyPackage::{$_}}{CODE} } keys %MyPackage::;

    And unless I'm very much mistaken, that line could just as well be at the top of your package as at the bottom: unless you're doing fancy run-time redefinition of subs, they should all be defined by the time the first line of non-begin-block code gets evaluated.



    If God had meant us to fly, he would *never* have given us the railroads.
        --Michael Flanders

      Thanks everyone for your help - I'll go with this method.

      Looks easy to export nearly-all the subs, like maybe all of them except the ones which start with underscores, which could be handy for the future.

      Cheers!
      andy.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others lurking in the Monastery: (4)
As of 2024-04-19 12:04 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found