in reply to Parsing XML

hello, sorry if i missed this...
I can suggest you to switch to XML::Twig? I was in a fix in choosing the rigth tool and now i'm very happy with this one.

Here the proposed solution using XML::Twig
#!/usr/bin/perl use strict; use warnings; use XML::Twig; my $t= XML::Twig->new( pretty_print => 'indented', twig_handlers => { #'Domain'=>sub{$_[1]->print,"\n";}, ##print +the raw xml 'Domain'=>sub{print $_[1]->att('Name'),' exp +ires ',$_[1]->att('Expires'),"\n" ;}, } ); $/=''; $t->parse(<DATA>); __DATA__ <?xml version="1.0" encoding="utf-8"?> <ApiResponse Status="OK" xmlns="http://api.namecheap.com/xml.response" +> <Errors /> <Warnings /> <RequestedCommand>namecheap.domains.getList</RequestedCommand> <CommandResponse Type="namecheap.domains.getList"> <DomainGetListResult> <Domain ID="8888888" Name="Domain1.com" Expires="03/31/2015"/> <Domain ID="8888889" Name="Domain2.com" Expires="02/25/2015"/> <Domain ID="8888899" Name="Domain3.com" Expires="04/01/2015"/> <Domain ID="8888999" Name="Domain4.com" Expires="05/20/2015"/> </DomainGetListResult> <Paging> <TotalItems>4</TotalItems> <CurrentPage>1</CurrentPage> <PageSize>50</PageSize> </Paging> </CommandResponse> <Server>API02</Server> <GMTTimeDifference>--5:00</GMTTimeDifference> <ExecutionTime>0.008</ExecutionTime> </ApiResponse> __OUTPUT__ Domain1.com expires 03/31/2015 Domain2.com expires 02/25/2015 Domain3.com expires 04/01/2015 Domain4.com expires 05/20/2015

HtH
L*
There are no rules, there are no thumbs..
Reinvent the wheel, then learn The Wheel; may be one day you reinvent one of THE WHEELS.