Comment I've mostly transitioned to Go. (Score 1) 82
Perl was one of my go-to languages for the longest time, but where I always got lost was when a system grew too big. I'd start with 20-30 lines, grow and grow, and then just lose containment. Being careful about using unit testing to help drive appropriate encapsulation helped grow things a bit bigger, but systems just tended to reach the point where all my time was spent fixing cascading issues caused by trying to add a feature or fix a bug.
For awhile, I was using Go for the bigger projects, and that worked well. I have found that gradually my Go usage is extending down towards simpler projects. Perl still has a material advantage when I just want to whack together a 30-line script, but if I know it'll be over 100 lines, I'll spend a couple minutes up front setting it up in Go. The main thing sticking point is a bit of clunkiness around spawning subprocesses and processing their output using regular expressions. It's not HARD in Go, it just involves a fair bit more setup compared to Perl, where there is basically no setup at all to do this because that's what Perl _does_.