http://www.perlmonks.org?node_id=1063583

nickt9999 has asked for the wisdom of the Perl Monks concerning the following question:

Hi All

I am a newbie and require some help

I am parsing an XML file for errors, the format is as follows

<errors> <error> <desc></desc> </error> </errors>

I would like to be able to print the description of the error, the problem I have is that when there is only one error my script bombs out with a Not an ARRAY reference. It works perfectly fine when there is two errors in the XML file

my current code is:

my $errorArray = $data->{errors}; foreach my $error ( @{ $errorArray->{error} } ) { print NEW "$error->{desc}\n"; }

ONE ERROR:

HASH(0x7fb3d8973fa8) $VAR1 = { 'desc' => 'Slave not running' };

TWO ERRORS:

ARRAY(0x7ffc84006ad0) $VAR1 = [ { 'desc' => 'Slave not running' }, { 'desc' => 'TEST123' } ];

Thanks in advance

Cheers

Nick