Syntactic Confectionery Delight | |
PerlMonks |
Re^2: Is modifying the symbol table to redefine subroutines evil?by dewey (Pilgrim) |
on Apr 11, 2007 at 22:39 UTC ( [id://609514]=note: print w/replies, xml ) | Need Help?? |
I object to that "easier" approach because it confuses the intent of the code; data which should be hidden from the rest of the program is revealed when you use global state this way.
A function is a piece of code lumped together to serve some purpose; the function name represents this purpose in your code. I've been influenced heavily by functional programming, but I think that programs are the most readable when functions "do the same thing" with respect to the rest of the program each time they are called; that way, when reading code you don't have to maintain a lot of state in your head to predict behavior.
There are two possibilities for the "evil" code:
Update: Re^3: Is modifying the symbol table to redefine subroutines evil? suggests using a lexical closure. That seems fine to me too, I just don't like the globals much.
~dewey
In Section
Seekers of Perl Wisdom
|
|