I recently had to maintain some new perl code. I didn't think it would be a big deal, but found a number of things I take for granted today that perl hasn't kept up with:<p>1) The perl cpan module doesn't resolve dependencies<p>2) The cpan module has parsing errors when passing in a list of CPAN packages<p>3) You have to manually grep your perl code to see what modules it depends on<p>4) Module installs take a long time since they can compile and unit test the code, unit tests can even make connections to the internet or try to access databases and fail, so you just have for force them to install<p>5) Non-interactive installs of CPAN modules requires digging in the docs and learning you need to set an env var to enable<p>6) CPAN modules aren't used that heavily and can have bugs that would be caught in wider used modules. (e.g. the AWS EC2::* modules don't page results from AWS so results sets can be incomplete, whereas the wider used boto lib works correctly and is better maintained.)<p>7) Perl devs don't think twice about shelling out to an external binary (that may or may not be installed)<p>8) Even if regexs are not needed, inevitably the perl dev will use them since that's the perl hammer, and it's hard to know what the intention is with regexes or what the source data even looks like<p>9) You have to manually include the DataDumper package to debug data structs<p>10) You have to manually enable warnings and strict check, it's not on by default.<p>Anyhow, I think we've made a lot of progress since the 1990s. :)