I know that it is not always possible to $WORK with Perl, and you highlight why.
The only thing I don't use Perl for is when I want to do real threading, in this case I use a scripting language called Qore. On the surface it is very much like Perl, but like what you say about Lua - the sharp corners and really nice things Perl has are missing.