## The data:
192.168.0.1
192.168.0.2
####
my $xml = new XML::Simple();
my $tree = $xml->XMLin(DATA]);
my $addr0 = $tree->{hosts}{server}[0]{address}[0] ;
my $addr1 = $tree->{hosts}{server}[1]{address} ;
####
my $XML = XML::Smart->new(DATA) ;
my $addr0 = $XML->{hosts}{server}[0]{address}[0] ; ## return {address}[0]
## ...or...
my $addr0 = $XML->{hosts}{server}{address} ; ## return {address}[0]
my $addr1 = $XML->{hosts}{server}[1]{address} ; ## return {address}
## ...or..
my $addr1 = $XML->{hosts}{server}[1]{address}[0] ; ## return {address}
####
my $addr = $XML->{hosts}{server}('type','eq','conectiva'){address} ;
####
## Data:
contentab
## Tree of the data:
$HASH = (
foo => { i => ['a','b'] , CONTENT => 'content' }
);
####
my $cont = $XML->{foo} ;
## ...or...
my $cont = $XML->{foo}->content ;
print "<<$cont>>\n" ; ## print: <>
$content .= 'x' ; ## Append data.
####
my $data = $XML->data ;
## Directly to the file:
my $data = $XML->save('new.xml') ;