In my last job, no code was permitted into production (in theory) unless a senior PA analyzed the code and declared that it fit standards -- including documentation. Now, I admit that Perl is not the easiest language to learn and can be difficult to understand if the programmer is haphazard. That's where shop standards come in. Before any code gets moved from test to production, it should be reviewed. If a particular programmer has a habit of writing obfuscated, undocumented code, that programmer gets the boot.

That's the perfect world. The reality is, many of the newer organizations that I see shoot from the hip and standards are a nebulous dream. Documentation? What's that?

As compared to COBOL, I will definitely concede that Perl is sometimes more difficult to maintain on a line by line basis. But, Perl programs are usually so much more compact and efficient that trying to sort through 10 lines of normal code, however dense, is much easier than following the logic of 80 lines of clear code (IMHO).

Now that I stop to think about it, I can't think of a single significant COBOL program that I've worked on that wouldn't be at least 50% shorter in Perl, usually considerably more. I would estimate that most COBOL programs could be shrunk by 3/4 if written in Perl. That makes the logic more compact, and thus easier to control. (This is due, in part, to COBOL's poor capabilities. I've actually worked in quite a variety of languages and I cannot think of one that is as feature-poor as COBOL. If you can name any significant ones, be my guest)

That ad hoc 3/4 smaller estimate does not count the JCL that must be added to make the COBOL work.