I have been using Embperl for two years now and it's worked very well for me. The documentation is a little hard to read, but the most important things to know about it have already been said (continue to use modules wherever possible rather than embedding logic in you html).
The most important features to familiarize yourself with are the %fdat hash, [
- -] blocks, [
$ $] blocks.
I haven't had much luck with using %udat and I have no use for %mdat. In fact, you will probably read much about past problems other people have had using the built-in cookie handling. For cookies, I still do a Set-Cookie just like in CGI and it works fine (only one cookie per page, but you can split them).
Here's a handy little snippet I put in all my emberl pages to facilitate debugging:
[- $debugmode = 0 -]
[$ if $debugmode $]
[$ while (($key, $val) = each(%fdat)) $]
[+ $key +], [+$val +]<br>
[$ endwhile $]
[$ endif $]
You can then toggle $debugmode to 0 or 1. If it's 1 then you will see the contents of %fdat at the top of your page.
Kudos to Gerald Richter, the author of Embperl.
I like chicken.