While trying to finish up my thoughts of the followup to "Does Anyone Else Hate the Stash?" one issue that I'm been grappling with is the relationship between using the stash as secondary global namespace and the way I've seen people use the stash as a sort of messaging system to methods called via $c->forward and the like. I guess part of what troubles me here is how doing so seems to bust encapsulation, using the stash as a sort of 'pass by reference' system that reminds more of Perl 4 then where we are at now. I've seen code that forwarded to a method, where the target method expected certain things in the stash but with no interface to really tell you want was expected. That code would forward to other code that expected different things in the stash. And all along all these forwards, stuff gets dropped in and mangled in the stash so by the time it returns from the initial ->forward I really have no idea what is in the stash anymore.
Is this a problem or am I just being too controlling :) Tell me!
So, tell me what you are using forward for, and how you use (or don't use) the stash when doing so. I won't pollute your thoughts on the matter with mine until I've heard from you first :)
And another thing while I'm typing, it seems like all my most popular blog posts contain the word 'Hate" in the title. I may be concerned.
Thanks!