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


in reply to Re^2: Config Files Redux
in thread Config Files Redux

And tools like this exist for formats like YAML; for example you can use kwalify to produce a DTD-like schema for YAML documents.