--The language sucks - yes it does. Usually the KISS principle is thought of as a good thing, except in the Perl language where nothing is ever simple or straightforward. There's 10 ways of doing every single little thing, and no two developers do it the same way. It is not a language welcoming of new developers, so as more schools and companies switch/abandon, I can only imagine it declining further.
-- it offers nothing new or exciting to most developers. If you're starting a new project or company and you already know another similar language (say, Python), Perl has nothing to offer. While it was innovative new 10-15 years ago, most of the good has long been assimilated in other languages.
-- real world perl sucks. a standard line amongst Perl monks is "you can do that in Perl!". Exceptions, objects, web frameworks, clean code, etc. You name it, you can do it in perl. Except in the real world, hardly anyone ever does, so Real World perl is as terrible as people fear. Python's strong community standards, OTOH, pretty much make sure you're almost always writing decent code.
As an example, I picked up both Django and Catalyst over the last year. With Django (python newbie), I immediately picked up decorators and started using them - both the built-in ones and my own. Its simple - just syntactic sugar for a function wrapper.
Catalyst OTOH, tries something vaguely similar using method attributes - except their are neither as powerful nor as simple/clear and despite many years of perl experience on the team, few people had seen them used, used them themselves, nor did they have a solid idea of how they work.
My point is, when you make something simple and accessible, it'll get used. When all you do is repeat "you can do that" and wave your hands about, you'll get ignored and eventually forgotten.