zerohero has asked for the wisdom of the Perl Monks concerning the following question:
I often use perl "hierarchical data structures" which consist of multi-level hashes of hashes of things as a way to initialize and drive algorithms. One of the pitfalls of this approach is that it's easy to specify a structure which runs afoul of the assumptions of the code. Because of this, I find I write little ad hoc "structure checkers" which first check the structure for validity against my assumptions.
It finally occurred to me that what I need is some way in perl to specify a compact grammar, and then execute a checker: check ($grammar, $structure), and have it output a useful error pointing to the part of the structure which fails the check.
One has tools that do this, for example, for XML (e.g. schema validity checker).
I'm guessing someone has thought of this ages ago and there is some cool library that does this for perl structures. It's best if the solution is tailored specifically to perl structures, and is simple, rather than using some external, generalized grammar tool.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: "Schema" specifier for perl in memory structures
by mirod (Canon) on Apr 16, 2009 at 14:02 UTC | |
by zerohero (Monk) on Apr 16, 2009 at 19:16 UTC | |
|
Re: "Schema" specifier for perl in memory structures
by dHarry (Abbot) on Apr 16, 2009 at 14:29 UTC |