Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re: Re: Re: Using a subroutine as a module

by Anonymous Monk
on Nov 03, 2003 at 10:12 UTC ( #304073=note: print w/ replies, xml ) Need Help??


in reply to Re: Re: Using a subroutine as a module
in thread Using a subroutine as a module

Egads, far too many uses of OO are superfluous and/or ill advised already and now you want OO for simple library calls. Just use fully qualified package names:

#### MyMod.pm package MyMod; sub foo { "whatever" } 1; ### calling script #!/usr/bin/perl -w use strict; use MyMod; print MyMod::foo();


Comment on Re: Re: Re: Using a subroutine as a module
Download Code
Replies are listed 'Best First'.
Re: Re: Re: Re: Using a subroutine as a module
by bobn (Chaplain) on Nov 03, 2003 at 15:43 UTC

    Sorry, I disagree. Modularization of code is desirable. IMHO, using a dummy object to acheive this is more valid than fully qualifying the calls for the following reasons:

    • Typically, less typing, as filenames tend to be longer han variable names (in my world, at least)

    • greater flexibility - if you decide to relocate something in the filesystem, you change only your 'use' and 'new' statments, not everyplace the calls are made.

    • "future-proofing" - as the user gains sophisitication, he or she can more easily modify the modules, or create new ones that inherit from the existing. Exporting or fully qualifying can defeat that.

    • "future-proofing" - on the day when the user suddenly wants to set instance data for his routines, he or she is ready.

    Besides, fully qualified calls just look ugly to me, though I suppose it's safer than trusting multiple modules not to stomp on each other or your own functions. Using object methods are also fully qualified.

    --Bob Niederman, http://bob-n.com

    All code given here is UNTESTED unless otherwise stated.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (6)
As of 2015-07-28 02:46 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (251 votes), past polls