#!/usr/bin/env perl use strict; use warnings; use XML::Simple; my $xml = XML::Simple->new(); my $result = $xml->XMLin(<<'EOX'); namecheap.domains.getList 4 1 50 API02 --5:00 0.008 EOX use Data::Dump; dd $result; #### { CommandResponse => { DomainGetListResult => { Domain => [ { Expires => "03/31/2015", ID => 8888888, Name => "Domain1.com" }, { Expires => "02/25/2015", ID => 8888889, Name => "Domain2.com" }, { Expires => "04/01/2015", ID => 8888899, Name => "Domain3.com" }, { Expires => "05/20/2015", ID => 8888999, Name => "Domain4.com" }, ], }, Paging => { CurrentPage => 1, PageSize => 50, TotalItems => 4 }, Type => "namecheap.domains.getList", }, Errors => {}, ExecutionTime => 0.008, GMTTimeDifference => "--5:00", RequestedCommand => "namecheap.domains.getList", Server => "API02", Status => "OK", Warnings => {}, xmlns => "http://api.namecheap.com/xml.response", } #### foreach my $domain (@{$result->{CommandResponse}{DomainGetListResult}{Domain}}) { print $domain->{Name} . "\n"; } #### Domain1.com Domain2.com Domain3.com Domain4.com