I've so far been able to convert any piece of PHP to Perl (haven't encountered Smarty yet, would be an interesting challenge), but the opposite is painful. I still want to be able to do automated conversions of PHP code to Perl code, but it's hard to emulate PHP's broken arrays, and writing numerous functions --with bug-for-bug compatibility-- sucks too.
PHP can be made fast nowadays, so performance is no longer a good argument against it. But it STILL, after so many years, cannot handle sufficient complexity or scale. But even if it could handle large scale programs in a nice way, I'd still not use it, because lack of anonymous functions, lack of lexical variables, lack of strict declaration mode, lack of real arrays, etc, keep me from being productive. I constantly have to search for alternatives to things that real programmers take for granted, and trying to make sense out of PHP's beginner-oriented documentation takes time.