One thing to consider when evaluating "why" Perl is
(generally) slower than a compiled language, like C, is
that tokenization and parsing happens once for compiled
programs, but every time you run a Perl script.
As for speed in general, I imagine it depends on
what you do with the language. My only data point is
on some fairly brute-force statistics (regression analysis):
I ran pretty much the same program in C and in Perl, and
the C program ran about 200 times faster. I suspect that
Perl is much closer to C in areas like string manipulation,
where Perl has very heavily optimized (C) primitives. Keep
in mind that, since Perl is implemented in C, optimizations
being equal C will always be (even just a little bit) faster
than Perl, since Perl scripts will be running code written
in C, plus the tokenizer and parser.
Language speed depends heavily on how good an optimizer
the compiler or interpreter has, and how well it can take
advantage of the hardware. That said, program speed is
often dependent on the algorithms you use, not the language;
if speed is important to you, choose a language that makes
writing quick algorithms easy before worrying about this
kind of issue.
--
:wq