|There's more than one way to do things|
Re^11: Spot the bugby shotgunefx (Parson)
|on Dec 22, 2005 at 23:18 UTC||Need Help??|
I actually gave five examples of side effects (looking at a value, assignment, warn, processing @ARGV, reading from a handle).
Well, you got me there. Shouldn't answer nodes right after rolling out of bed. Now, you might not call them side-effects, but than you have a private definition of a side-effect. Using private definitions doesn't contribute to succesful communication.
I thought that was quite clear.
Personally, I don't consider your two examples as side effects (even though some would)
Yes from a language design standpoint, Perl is full of side effects. I'm talking about the expectations of people using Perl. Yes, it's a well know trap and easy to avoid.
But it's non-intuitive and dare I say non-sensical. I'd be hard pressed to think of any situation were someone would want their loop iterations influenced transparently by code outside the current scope. Certainly that's what most people don't want the majority of the time. It doesn't follow expectation.
perl digital dash (in progress)