|Think about Loose Coupling|
Unfortunately, I do see this often
Exactly! Ask yourself, how many new PHP programmers have or will ever write a session manager? Answer: probably none of them! Why? Cause PHP has that built in from the start, they are free from that sort of low-level drudgery by design.
If it wasn't for all the things that are lost in the transition to PHP, then it would make sense to simply use that instead. But no, PHP sucks for lots of reasons I'm sure we are all aware of and there is no point going into here.
When it comes to Perl, we have a huge huge array of choices, most of which are not apparent to the new user, so you get what happened to me 4 years ago, and without knowing I was reinventing wheels, I reinvented them anyway, at great length of effort putting together bits of information without having a complete picture. Infact Tizag was my first port of call for answers to problems with Perl for a long time, and there is no mention there at all of Perl Monks, CPAN etc so I didn't even know they existed until I was already a long way down a certain track of development.
Unbeknownst to me was that said track was miles away from what was being developed elsewhere. I had no idea whether what I was doing was standard or non-standard, all I knew was that I had this idea for a system that worked in a way that allowed me to build projects and reuse nearly all of my code each time. I didn't know about Time::Hires or mod_perl or any of that stuff, and it didn't seem to matter because the code was not noticeably slow. Infact it takes a forking parallel stress script firing 16 simultaneous requests at my tiny little 256mb dev server to significantly slow it down, a result I would of been quite happy with not so long ago (before I found Plack/PSGI)
The point is that it is all too easy get on a big high horse about code style while neglecting to take a real hard look at what the code actually does.
From my perspective, having used said code for a number of years, I can freely admit my implementation of it is terribly ameture, but I will not admit that the system I built is worthless or without merit because that is simply not the case. I've seen enough spaghetti messes built on PHP to know that my code is not that bad, but when it comes to seeing a "quality" implementation done in Perl, there seems to be a lot of hot air about wheels and a few keyword names for popular frameworks, but very little actual information about how to go about building things using them, the nature of the paradigm, how it actually works... I can name you many frameworks and so on, but I've never seen a whole system using one of these things, and when I ask someone for a barebones example of a system, I get told that the code is all intertwinned with their work... a notion I find absolutely shocking coming from where I started and from using a system like aXML which is very loosely coupled to a point where I could throw a skeleton system together in minutes for someone else to develop into a working application from.