I'd say multi-core programming isn't just the future, it's the present. It's been at least a couple years since anything I wrote ran on a machine with just one core. Usually the kind of parallelism I need is easy to get - Apache/mod_perl runs multiple copies of my code and on the backend MySQL runs multiple threads to service them. For slightly harder problems requiring some coordination between processes I use Parallel::ForkManager and pipes with IO::Select.
in reply to (OT) Programming languages for multicore computers
I'm very sweet on Erlang, but whether it's right for you is something only you can judge. You might get to market faster by leaning on the built-in parallel features or you might get bogged down in the learning curve of a new environment. I think a lot depends on just how much parallelism you need to exploit - if we're talking about dual and quad core machines then some fork()ing Perl code is probably good enough. If you're deploying on a cluster of several hundred 32-core machines, well, you might need more management ifrastructure and going with a pre-built system may be a better idea than rolling your own.