mainly because *I am not* by any means a "real" programmer, is the reason for "most"...
Much of our Perl infrastructure was re-written by an "engineer" from code that was nearly incomprehensible... he wrote unit-tests. The refactored stuff he did is over-built, but is/was a HUGE improvement from the previous few doing it with rote methods. Some of the original Perl hasn't been refactored yet, bigger fish to fry and it is also working at the moment. We have also resisted the urge to make it tricky. It is typically fast, workable, fixable and mostly very resistant to many current and future issues/problems.
Our biggest problem is trapping errors properly... even with Sanity Checking every where, we still get the odd user input that we never... ever... ever expected to see. Like pasting the content of the Windows 8 C&P buffer into a date field... previous to W8, it didn't work with anything except a proper date format (any of ~10). Now W8 jams *PICTURES* in there. WxWidgets wasn't ready for W8... though Mavericks and Linux (32bit and 64bit Intel) were no problem. Our trapping of errors is pretty raw and reflects the Perl errors, rather than pretty user friendly errors.
I'll grant you your comment about Python, though. Yes, it is tough to make it bad. I can read Bad Python, apparently. I know you've seen a lot of code... probably magnitudes more than me. Let that tell you what you need to know.
The last comment I've got about Perl, it is very feature complete, typically has a "good" module for just about anything you want to do... and is also typically very well optimized after all these years. You would be hard pressed to find a more feature complete language.
"No snowflake in an avalanche ever feels responsible." --Stanislaw Jerzy Lec