* Nathan Torkington ([EMAIL PROTECTED]) wrote:
> Simon Wistow wrote:
>
> > You use the RPC::Automagic module and pass it a RPC server/port/user
> > name/password/whatever. From that point on it overloads the use keyword
> > and anything you try and use it will actually connect to the RPC server
> > and pass it all the parameters. Any modules you didn't want froma
> > remote server you just use them before you use the RPC module. Or tell
> > it to ignore those.
>
> That's kinda, but not quite, what SOAP::Lite has. For a single
> namespace you can tell SOAP::Lite that function calls are really
> SOAP calls. It's all invisible, and really cool.
>
> If you whispered this idea into Paul Kulchenko's ear, he'd probably
> have it implemented within a day :-)
>
Actually SOAP::Lite is the perfect control code for the CiP scale,
I nominate SOAP::Lite for CiP level 3, i.e. CiP~~~
e.g.
my $method = 'as_' . ($object->SOAP::Data::type || '-'); # dummy type if not defined
# try to call method specified for this type
my @values = map {
$self->can($method) && $self->$method($_, $object->SOAP::Data::name || gen_name,
$object->SOAP::Data::type, $object->SOAP::Data::attr)
...
sure it makes sense, but it still is CiP and trust me this isn't
the only bit of CiP in here and much kudos to Paul for it ;-)
Greg
--
Greg McCarroll http://www.mccarroll.uklinux.net