Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re: should a module export FUNCTIONS or VARIABLES?

by andreychek (Parson)
on Jul 02, 2001 at 19:02 UTC ( #93190=note: print w/ replies, xml ) Need Help??


in reply to should a module export FUNCTIONS or VARIABLES?

In almost all cases, I think exporting a function would be better then exporting a variable. Another term for exporting a variable is called a "global variable", and most programmers feel that they are not a clean way to do programming. There is nothing wrong with having a subroutine that returns a scaler. Don't get me wrong though, there are times when global variables are useful or necessary, and TMTOWTDI applies.

As a matter of fact though, it is actually possible to avoid both, if you ever decide to get into Object Oriented programming (OOP). I know you're just getting started, so don't feel pushed. There are advantages and disadvantages to both, as various discussions around here lately have proven. But it is a given that overall, OOP is considered cleaner then standard procedural programming, and you don't have to bother with exporting anything.

For more information on OOP, check out "perldoc perlboot"
-Eric.


Comment on Re: should a module export FUNCTIONS or VARIABLES?
Re: Re: should a module export FUNCTIONS or VARIABLES?
by blueflashlight (Pilgrim) on Jul 02, 2001 at 19:08 UTC

    thanks ... that helps. I wish I could get the OO concept; I've gone through the perl manpages; I've got every ORA perl book; I've got the Conway book. The only thing I don't have is understanding. ;-)

    I'll just keep working towards that goal of being just another perl hacker! thanks again. -s-
      I wish I could get the OO concept; I've gone through the perl manpages; I've got every ORA perl book; I've got the Conway book. The only thing I don't have is understanding. ;-)

      I know I'm in a minority here, but I usually have problems with Perl documentation (in whatever form) first time out. It is seldom self-contained (frequently referring to something else in Perl you don't know anything about).

      My advice on Perl OO (or Perl anything) is:

      • read the documentation
      • do the examples
      • do something original with a knowledgable person in the vicinity for questions
      • after a while, re-read the documentation; you'll get a deeper understanding of the topic, and because you've learned other Perl things since the first reading, you'll understand why you didn't get it the first time :)

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (5)
As of 2014-07-28 06:24 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (189 votes), past polls