The whole || ( huge list of perl versions ) dependency thing is clearly wrong, and not revbumping when you change that list is doubly so. What exactly are you trying to do, and what do you need in the next EAPI to get rid of this disgusting hack?
Ideally, where you presently see large || ( ) groups, something like this would seem more suited: virtual/perl-Test-Simple-0.98: || ( ( >=dev-lang/perl-5.13.1 <=dev-lang/perl-5.19.3 ) perl-core/Test-Simple-0.98 ) Because thats communicating exactly the state of upstream. Test-Simple 0.98 is provided by Perl Itself versions 5.13.1 to 5.19.3 And perl-core/Test-Simple-0.98 is a fallback for cases where your perl is not between those ranges. However, we don't do it that way for some reason, though the reason is lost to me. I seem to recall there being issues where it did unexpected things with that notation, though they may be EAPI specific.
Theoretically, something like: || ( ( <=dev-lang/perl-5.19.3 >=dev-lang/perl-5.13.1 ) perl-core/Test-Simple-0.98 ) would be more compatible. Not that any of the PMs doesn't work with the reversed order nowadays. But for a simple dependency resolution algos, it's better when the left-most atom limits the newest accepted version.
I have no idea to which || list this refers. But seriously, we're working on simplifying things. Once Perl 5.16 is gone and EAPI=4 is gone eclasses and virtuals will become clearer to read. Meanwhile, more specific reports please.
*** Bug 541458 has been marked as a duplicate of this bug. ***