package ProxyObject; sub AUTOLOAD { my $self = shift; $method = $AUTOLOAD; $method =~ s/.*:://; return $self->{HomeServer}->call_method($method, $self->{ID}, \@_); } #### my $server = Server->connect( host => auth.domain.com user => $user, pass => $pass ); my $root = $server->getRoot; # this is a proxied object my $users = $root->getUsers; # another proxied object my $fergal = $users->getUser("fergal"); $fergal->setPasswd("wibble"); $fergal->setShell("/bin/zoidberg"); $fergal->commit;