My script is having problems reading and XML file with only one record in
it.  When I add two or more records, there are no problems.  The error is
"Not and ARRAY reference.."

Here is the PROBLEM xml file (test.xml):

<?xml version="1.0" encoding="ISO-8859-1" ?>
<DATA>
<RECORD>
<COLLNAME>FBIS2004</COLLNAME>
<DOCI>CP1</DOCI>
</RECORD>
</DATA>


Here is the WORKING xml file:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<DATA>
<RECORD>
<COLLNAME>FBIS2004</COLLNAME>
<DOCI>CP1</DOCI>
</RECORD>
<RECORD>
<COLLNAME>FBIS2005</COLLNAME>
<DOCI>CP2</DOCI>
</RECORD>
</DATA>

Here is my script:

#!/usr/bin/perl
use XML::Simple;
use Data::Dumper;

$xml = new XML::Simple (KeyAttr=>[]);
$data = $xml->XMLin("test.xml");
#print Dumper($data);
print "There are " . scalar(@{$data->{RECORD}}) . " records.\n";
foreach my $var (@{$data->{RECORD}})
{
print $var->{DOCI} . "\n";
print $var->{COLLNAME} . "\n";
}

Does anyone have an explaination for this?

Thanks in advance,
DA

Reply via email to