in reply to php + Smarty looks like CGI

I earn my daily bread with PHP. I'm just learning Perl, which I find fairly easy because PHP is, after all, a mix of several languages including Perl (just as Perl is a mix of others (awk, sed, shell)).

I'll say this in favor of Perl: I've found lots of stuff on which I told myself: "gee, I can't do this with PHP". What I don't like about Perl, and I'm sure you've heard this before, is its syntax. It's too easy and too tempting to obfuscate things, which is a double-edged sword.
With PHP (and even more with Python) you don't have such, uh, flexibility to overcomplicate things, or do them "my way". Which is a Good Thing(tm) for big projects, for consistency, for team work. Yes, you can do the same with Perl if you enforce coding standards, but it's somehow a different and more complicated level of standards because it involves syntax under a different context.

PHP was designed for dynamic web pages in mind and, in my little personal opinion, it does a great job. Oh, and I find it stupid too the movement of "wow, let's do everything in PHP now" (like GTK apps or webservers). I think Perl has more chances for that. Ignore those.

Ah, and you can control the session cookie with PHP, it's possible to control the expiration with session_set_cookie_params().

jaime.