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.
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-
| [reply] |
|
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 :)
| [reply] |
|