I am fond of indirect object notation.
It's the my $inst = new Class::Class arg => 42; thing.
It's beautiful and I've never faced any unsolvable problems with it. All arguments against it basically sum up to it being too hard to parse properly. As if we got computers not for this exactly reason — to do hard things for the sake of beauty (which is a special case of order).
One example of bad things happening was presented in a post by Matt Trout. Well, not convincing, if I am allowed a slightly offensive quote from Strugatsky brothers here. Do not use it when it causes problems and this particular case seems to be hard to debug due to poor error reporting from perl interpreter only. If indirect.pm DOES detect these cases, why perl cannot? Probably because it's too late to change this behaviour in Perl 5. Well, I shut up and return to work.