Last night I shipped out an initial version of JavaScript::RPC.
For the uninformed, I saw a link off of l.m. orchard's blog about remote scripting using JavaScript. Brent Ashley has created a client-side JavaScript library to do asynchronous remote procedure calls. I tried the demo and was quite impressed.
After downloading the distribution, I noticed that there was a perl server implementation. I wasn't terribly thrilled with how it worked, so, I wrote JavaScript::RPC::Server::CGI. I wasn't sure if i should write it in such a way that required people to subclass it. In the end, i decided against it (but I'm allowed to change my mind at any point :). Instead i have a method(), uhm, method, which is a getter/setter.
A new version should be out soon with a few minor tweeks and a new error_message() method.