yet another XML::Simple option
That's a joke right?
XML::Simple has two entry points and 29 parse time options -- most of which you will never use -- that are all documented on a single page.
XML::LibXML has 26 entrypoints and 40+ constructor options mentioned -- note: not "documented" -- on just the parser page. And there are hundreds more entrypoint 'mentions' plus innumerable importable constants scattered across another 31 more pages.
One of the major reasons people use config files is so that they can avoid having to make changes to running code when, say, a new IP address is assigned.
Just use the required parsing options from the get-go and no change is required.
Of course, if the input file specifications change during the life of the program, then you will have to change program.
But modifying one program line after a substantial modification to the file format is hardly onerous.
If you are trying to claim that you wouldn't have to modify your program that used LibXML for a similar change, you are kidding yourself.
What if the addition was:
<ip note="UNDER NO CIRCUMSTANCES USE THIS IP ON PAIN OF SUBSTANTIAL LE
+GAL REPRISALS; INCLUDING EXTRADITION AND LIFE IMPRISONMENT">67.215.65
+.132</ip>
which your LibXML program will blithely process in just the same way as every other IP it finds -- including perhaps attempting to access it which may well be construed as attempted hacking in some quarters -- without noticing a thing.
Personally, I prefer that my program either ignored that IP or issued a warning or error. At least until I'd had a chance to see what changed.
With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
|