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


in reply to Not a HASH reference

Assuming line 31 is as you say, this means $alldrug does not contain hashref. If we trace that back, its value is assigned on line 29. That line looks fine (XMLin should return a data structure that mimics for XML), so that implies that your data structure is not as you expect. Are you sure that your $tree->{drug} branch contains a hash ref and not, for example, an array ref? To interrogate your data structure, try following the directions in Basic debugging checklist and use Data::Dumper or Data::Dump (It looks like you tried that because of your commented #print pp($alldrug); line, but then again you can't get that error if $alldrug contains what you seem to expect).

#11929 First ask yourself `How would I do this without a computer?' Then have the computer do it the same way.