Those are all really good points.
As for modularity of code: despite what I heard about Perl before I started using it (about a year ago), I've been really surprised at how easy it is to come back to a program after a few months of working on other stuff. Using subroutines and using the strict module (as mrmick suggests) really helps.
I know we all love Perl for different reasons. For me, it's the way I found Perl to be very approachable. It wasn't difficult to swallow like C. Plus, it's just plain fun to code in Perl.