That's a LOT of code for what seems to be such a minor task. All those files you open and close, do you really need them? Wouldn't simple arrays and hashes and perhaps some Caching be better? I will admit that when i first started Perl, i had a bad habit of looping many times instead of just once or twice. Unrelated to that, one particular item that really bothers me is this:
Why are you bypassing the errors reported from XML::Simple in this manner? Seems to me that if the file cannot be parsed then you don't need to be continuing execution. Not to mention that XML::Simple will return meaningful messages as to why the file did not parse. By trapping the die you have no clue as to what went wrong.my $ref = eval { XMLin($xmlfile) }; #see if open worked if ($@) { print "XML Read ERROR"; } else { ... }
Finally, unless you provide some example XML, we can't really try your code out. But i still think you could trim this down to under 40 lines. ;)
jeffa
L-LL-L--L-LL-L--L-LL-L-- -R--R-RR-R--R-RR-R--R-RR B--B--B--B--B--B--B--B-- H---H---H---H---H---H--- (the triplet paradiddle with high-hat)
In reply to Re: Extracting xml data and using them for SNMP
by jeffa
in thread Extracting xml data and using them for SNMP
by theroninwins
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |