Older people use it is because they don't want to change or learn something new. Especially in a company already entrenched in Perl development, their is little benefit to switching to a better language compared to the cost of forcing people to learn a whole new technology stack when they are more than content with Perl. However, new companies are much more free to build on whatever technology stack is most appropriate.
I've also noticed over time that lots of non-CS majors can and do program in scripting languages because they are relatively easy to pick up and get things done with. These people are usually more aligned with an IT career in that scripting constitutes only a fraction of their job. If they happen to learn Perl and PHP first, then that is what they stick with.
These people may like to program, but it is not the favorite part of their job and they have other work activities they enjoy more. More importantly, they know little to nothing about software design principles and are not interested in improving their software development skills. They would rather spend their time learning about something else that interests them more. Therefore, they don't even know how to appreciate the advantages more modern scripting languages offer. To these people, languages like Perl are more than sufficient to get their job done, and they are probably right.
However, as people who know better, I believe we should be encouraging better languages in a friendly way whenever possible. When my IT friends ask me about any questions related to programming, I usually try to point them to Python or Ruby for a solution. If they are asking questions they are probably interested in learning something new!
edit: changed wording based on reply from gamache.