Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight

Re: A simple import() for those special moments

by MarkM (Curate)
on Jan 19, 2003 at 06:14 UTC ( #228134=note: print w/ replies, xml ) Need Help??

in reply to A simple import() for those special moments

For some modules, I have come to the conlusion that nothing more than the following is necessary:

sub import { my $caller = caller; *{$caller . '::FUNCTION1'} = \&FUNCTION1; *{$caller . '::SCALAR1'} = \$SCALAR1; }

I usually end up with code such as the above for very specialized modules that need to load quickly, without any dependencies., even split into and Exporter/, is beastly long for the most common usages.

Some benefits of this approach include the ability to rename objects, and the ability to export lexical objects (in the above case, $SCALAR1 could be declared with my()).

I am not recommending my solution over yours. I am agreeing that rolling your own import() function can be very practical, and I believe that the practice suits the Perl mindset. is one (convenient?) way to do it. It isn't the only way to do it.

Comment on Re: A simple import() for those special moments
Download Code

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (7)
As of 2015-11-30 06:17 GMT
Find Nodes?
    Voting Booth?

    What would be the most significant thing to happen if a rope (or wire) tied the Earth and the Moon together?

    Results (759 votes), past polls