A. Pagaltzis wrote: > > I like JSON… just not for configuration files. > > And Apache-style config has verbose elements, but they’re only > for sections… and if you have a lot of tiny sections, you’re > doing something wrong anyway. Look at your `httpd.conf`: lots of > minimal-noise config directives, interspersed with an occasional > open/close tag every 20 or 30 lines or so on average. The virtual > host section is denser than the rest, but IMO still excellently > readable.
A basic httpd.conf is indeed so, but once you start adding modules and setup config directives for all those SVN, DAV, mod_perl, etc. modules it becomes pretty cluttered in my experience. The reason the basic config is simple, is also the reason you use Catalyst instead of relying on just mod_perl, namely at it's heart Apache is a http server for static files, which don't need much in the way of configuration. Once you get past that part, configuration is, like it or not, complex. In a larger Cat app, I'd have a config section per component, that is 2 (or 3) View sections, 1 (or 2) Model sections and a shitload of controller sections, each component having a few adjustable options, resulting exactly in "a lot of tiny sections". What is so wrong with that and how could I avoid it then? > And it’s very easy to figure out what goes where just > by looking at the format; no manual or cheat sheet necessary. > It is to me too after years of editing apache config files. The first months of dealing with it however were hell, esp. in regard to directive and options overriding. The point is any sufficiently complex data structure will be confusing no matter what format it is expressed as. Once you get familiar with it (the data structure, not the format), you will be able to deal with the format as well (YMMV, though). >> Well, the "perl way" would be Data::Dumper + eval in a Safe >> compartment. It's indent insensitive, doesn't look like XML >> (which is my pet peeve regarding C::G) and instantly >> readable/writable if you know Perl. >> > > Suffers from the same problems as JSON and YAML: hard to write > for non-programmers. Also hard to read, like JSON. > I don't see why writing YAML would get suddenly easier if you learned a programming language. It's a matter of conventions. If the user is inexperienced enough to really mess up indentation (after being warned about it), chances are he'll forget to close tags, misspell option names or set creative option values like: "Allow from all my friends" or "Deny from Russia" [with love] ;) too. _______________________________________________ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/