Migrating to modern Perl, which I admit involves various scripts spanning from "let's use globals only" to "proper architecture and tests". I can tell you the general areas that were problematic, but not the exact situations since I honestly don't remember all of them: Strings with utf8 flag, encoding, etc. - some CPAN modules simply didn't care about it - it's hard to find such bugs (different types are much better for this). Handling half situations with error codes and others with exceptions (I'm not even going into modules which find `dualvar` useful...). Continuing past failures (even if I force some behaviour in my code, other modules don't have to). Possibility to do silly things like mistake `eq` and `==` - if data source changes from number ids to strings, that causes a lot of fun (yes, you can argue this is due to the programmer's inexperience, but then we can't find people who can do this job, let alone those who can both do the job and know perl perfectly). Minor annoyances like re.pl not being very friendly just add to the list.
So yes - of course you can write the best modern Perl and live happily. In practice I have to mess with old code and tricky things left by people saying "Perl is not that bad once you know more of it" - really, it's just setting up someone less experienced for failure. And you can be sure that there will be someone less experienced working on your code (while you're not available for any review). I prefer more explicit code, stopping completely before you do something that might not be exactly what you want.
Re. Perl 6 - it brings in more new syntax, more operators, more different ways to do things, more unknown problems and less people who know it well enough to use it properly. I really don't see the reason to play with it now.
I really don't want this to look like trolling, so I'm not even advocating languages I prefer. You may not agree with me, but this is just something I experienced for the last 3 or so years - those simple problems occur over and over again.