First off, I don't think there's a way to change the behavior of SOAP::Lite directly. Writing a custom dispatch class isn't all that hard, since the basic method pattern looks like this:
sub some_function {
my $self = shift;
return Some::Other::Package::function( @_ );
}
Besides writing them by hand, you can autogenerate those in a number of ways. One way is using string eval; another could be to mimick what modules such as Class::Accessor do for method generation.
| [reply] [d/l] |
Alternatively, wrap your package in a (presumably singleton) object. Do a traditional ->new based constructor with methods which proxy back to you object-free package methods.
It could possibly be done with some AUTOLOAD or meta-programming fun, but doing it directly might not be too hard either. | [reply] [d/l] |
Thanks for the feedback, guys/gals. I was tinkering with AUTOLOADER for a bit, but haven't gotten it to do quite what I want yet. I'll keep plugging at it and possibly write something up if I get it working. Thanks again. | [reply] |