A lot of my work is in a web application environment. There, Perl's threading or forking or what-have-you isn't really relevant. Apache spawns processes for multiple requests, and the database spawns threads to handle them. I get the benefit of many CPUs essentially for free.
In back end code, when I want to really max out the machine, I generally write things so that more than one can run at a time and then run as many as I want. I have to think about it a little more, but not much.
I can imagine there could be situations where an individual request would benefit from being spread across as many CPU instances are available, and the "natural" solution just doesn't do that. Still, I think that will be the exception rather than the rule.