So: I have specified a few things that, to me, seem remarkably different from Lisp. In some cases, such features are more cumbersome or less flexible. In others, such as the reserved characters, there is no clear winner.
That Common Lisp has few if any reserved characters gives me lots of freedom to change how my program looks. In my example above, I could remap 'funcall' to '&' and the result would look almost just like Perl. It means, though, that I have to be really careful not to do anything stupid lest my program be unreadable. Perl, in contrast, has built-in meanings for all sorts of punctuation. This often saves a lot of typing, and allows many ideas to be expressed succinctly without any extraneous configuration So Lisp is more flexible in a sense, but it's not immediately clear that this makes Lisp more powerful.
What I'm interested in, is how much different it is to program in lisp as compared to perl. The symbols thing seems minor in principle. But in practice, when coding in Lisp I find this flexibility leads to a completely different way of thinking. It's way too early for me to say whether one is better than the other, but the difference is remarkable.
merely syntax
Perl is full of syntax. There's syntax for everything, personally I think it's one of Perl's strengths. Lisp, in contrast, (usually) has very little syntax. It's orthogonal and consistent. (limited and static, if you'd prefer more negative connotations)
Some people do better memorizing huge number of details, others do better learning core rules and applying them to each case. In my first year of music theory, my professor took the "few core rules, consistently applied" approach to teaching voice-leading and almost everyone hated it. The first day of class next semester, my new professor handed out a voice-leading review sheet that was, front-and-back, covered with rules about what to do in a given context. Most people seemed to prefer it that way.
Not any other language. Merely any other mainstream language aside from possibly JavaScript (which is very nearly Scheme with C-style syntax).
It actually doesn't sound like we disagree on much other than what makes a language Lisp-like. ;-)
I'm primarily concerned with the "blub" and "power continuum" concepts that pg came up with. Any language lower on the power continuum is blub, and if you're only familiar with blub you can't see why a language higher up is more powerful. My basic assertion is that Perl has much more room below it on the power continuum than above it, with pretty much just Lisp (and other macro-capable functional languages) being clearly above it. Perl 6 introduces macros, so the picture changes a little bit come Christmas (or whenever the first Perl 6 is released).
And, I agree that syntax is a huge gaping difference between Lisp and Perl. But Lisp is hugely different from all other mainstream languages in that regard, as well, so it has to be canceled out, as far as I'm concerned. So, once syntax as a difference in removed, all you have is "what concepts can you implement readily in this language", and Perl has pretty much everything except macros. Most other mainstream languages are missing some number of others.
Perl has several data types. You can get all the unflattened goodness you want by passing array refs. We do it all the time in our code. It's merely syntax.
"All subroutine parameters are passed via @_, resulting in an imperative-style parsing of variables at the beginning of every sub."
Likewise, pass an array ref, and you don't fiddle with parsing @_. TMTOWTDI.
(Note that I'm not suggesting passing array refs for everyone or all subroutines...it's just a somewhat lispy way of thinking. In OO development, a more "imperative-style" is appropriate, and we use that too.)
"A perl program is a file of perl statements, a lisp program is a lisp list of expressions."
OK. Wonderful. Nonetheless, you have first-class functions in Perl. Currying is possible (and not terribly ugly) in Perl. Closures exist in Perl.
Macros do not, yet, exist in Perl 5. But they exist in Perl 6. That's the only significant gap I'm aware of (where "significant" means, "a concept that cannot be replicated in the language without huge, long-winded, hacks"). Syntax is arbitrary, and smart people can disagree on what good syntax looks like. Power is a bit more tangible, and on the power continuum Perl holds up just fine.
"Perl has contexts."
So? Merely syntax.
"Also, Lisp reserves almost no characters. I can use square-bracket as a symbol name if I want."
Again, so?
I'm talking about power, you're talking about implementation and syntax preferences. You may feel that the beauty of Lisp is in the details, and that's wonderful. I think Lisp is nifty, too. But, there is also beauty in speed of development, and nothing is faster to develop than already written code. Perl has the largest collection of free pre-written functionality of any modern language in CPAN. It also happens that for my problem domain (system administration automation) Perl is effectively already a nearly ideal DSL.
For me, built-in grep and map and file tests and operations and regular expressions and taint mode and efficient hash tables and native Unicode and cheap enough concurrency and lots and lots of libraries are all killer features and Perl has all of them. Sure, Lisp has a better map, by some definition of better, and I can pull in a regex library and probably a POSIX file library. Erlang has better concurrency by all definitions. Other languages are strong in other areas. But nothing has them all...except Perl.
The nice thing is that we can both use our favorite languages for anything we want. I will never come over to your house and force you to write (or read!) Perl code. I promise.
I do think folks are missing out on some interesting ideas by closing their eyes and going "neener neener neener neener" with fingers in their ears every time someone mentions Perl, but that's no business of mine.