Algunas instrucciones antiguas (2001) para acceder a XML-RPC usando Perl. También échale un vistazo al tutorial de Perl XML-RPC en xml-rpc.com !

Actualizado 2003-01-29

Según un cliente la siguiente información no está actualizada ;-) Aparentemente el módulo no estará disponible jamás, en lugar de este, puede utilizar el módulo SOAP::Lite que no solo proporciona SOAP, también la funcionalidad de cliente XML-RPC.
Un pequeño recorte de código para acceder a OpenGroupware.org:

use XMLRPC::Lite;
use Data::Dumper; $Data::Dumper::Terse = 1; $Data::Dumper::Indent = 1;
> 
my $fkt  = "person.getById";
my $para = "10000";
> 
my $result = XMLRPC::Lite
        -> proxy('http://root:rootpwd@165.0.0.10:20000')
        -> $fkt($para);

print Dumper($result->paramsall), '';
Gracias a Mr. Hanusch por proporcinarnos esta información !

Soporte XMLRPC en Perl - README

Instalación

Para usar XMLRPC con Perl, primero necesita estos módulos Perl instalados en su sistema (testeado en SuSE 7.2) :

También necesita el módulo Frontier::XMLRPC, el cual está disponible en
http://bitsko.slc.ut.us/~ken/xml-rpc/ (down)
o en
http://www.cpan.org/authors/KMACLEOD/Frontier-RPC-0.06.tar.gz

Si ha desempaquetado y descomprimido el paquete, solo necesita teclear los siguientes comandos para instalar el cliente en su sistema :

Ahora todo debería estar preparado para ejecutar scripts en Perl con soporte XMLRCP.

Como usarlo

Para mostrarte como se usa Perl y XMLRPC para acceder al servidor OGo, le mostramos un pequeño código de ejemplo que muestra los pasos esenciales.

#!/usr/bin/perl

# 'include' the XMLRPC client
use Frontier::Client;

# init the client with the target url, login & password
$client = Frontier::Client->new( url => 
                  "http://login:password@your.server.com:10000");

# send a message to fetch persons with a name like 'zaphod',
# store the result in @result
@result = $client->call('person.fetch',"name like \'*zaphod*\'");

# check how many records we received
$count = @{$result[0]}; 

# iterate over the results
for $i (0 .. $count-1)
{
  # get the current element
  $element = $result[0]->[$i];

  # get the name of the current element
  $name = $element->{"name"};
}