http://www.perlmonks.org?node_id=304135


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

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.