I agree with kyle. I've had a quad-core on my desktop for a few months now, and there are just some things a user can think about differently. For example, converting avi's to DVD mpgs. Just have more than one thing to do, and let make take care of it.
As for perl, well, I'm going to pretty much have to wait for a proper thread-safe perl before I can really take advantage of it. Sure, I can use some shared memory and forking, or try to share objects across ithreads, but that's way too much fiddling with protocols to bother with. I'll wait for perl 6 before really delving into parallelisable tasks (and I have *plenty* at work, they just need to communicate too much information!).
What multiple cores does on the desktop is really just keep one process from locking the system. Unless it's actually X that is hung, I can generally go to another window and pkill a runaway process. Or, if it really WILL take a long time, I can simply ignore it - I still have 3 full cores that the initial application can't muck with. If every app became multi-threaded or multi-process, I wouldn't be able to do that ;-)