Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re: Modules as executable scripts?

by duff (Parson)
on Jun 15, 2007 at 02:49 UTC ( [id://621388]=note: print w/replies, xml ) Need Help??


in reply to Modules as executable scripts?

I believe the canonical method is to use caller as friedo suggests, though I typically just do something like this (which, though I say "typically" isn't often :):

#!/usr/bin/perl package Foo; # ... unless (caller) { # ... execute this code if we're run stand-alone } else { # ... do whatever module initialization here. } __END__
You'll note that I didn't end my module with the traditional 1; because that's part of the module initialization. If the initialization succeeded it would return a true value. If you really didn't need to do any of that then leave off the else and just put a 1; after the conditional.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others lurking in the Monastery: (2)
As of 2025-07-08 23:47 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.