in reply to Re: XML::Simple parsing :-(
in thread XML::Simple parsing :-(
and this initial comment:# works print $ref->{incident}->{'GDOT-INC-260089'}->{location}->{county}->{co +ntent} . "\n"; # doesnt work print $ref->{'incident'}->[0];
basically I am having trouble forcing the incident into an array so I can call it like this:
print $ref->{incident}->[0]->{location}->{county}->{content} . "\n";
Why is it important to have the structure be set up as $ref->{incident}->[]->... ? Is it simply that you want to be able to access the incident reports via numeric array index rather than by name?
Either there is some compelling reason (which you haven't explained yet) why you want a numeric array index at that particular level of the structure, or else you're asking for something that you don't really need.
If the incident-id values are being created in such a way that they can easily be sorted into the most relevant order (chronological or whatever), then you can iterate over the hash keys in that desired order by sorting them into an array first:
If necessary, you could use a more elaborate sort function, including one that references the contents of lower layers in the structure (such as date/time, location or whatever), and this might be a good place to apply a Schwartzian Transform.my @sorted_keys = sort keys %{$ref->{incident}}; for my $incid ( @sorted_keys ) { # do something with $$ref{incident}{incid} ... }
|
|---|