I spent Sunday in a glorious coding haze. I'd gone to bed the previous night after realizing that Apache::ConfigFile won't work for my next project. My goal is to provide a configuration file in the same format as Apache's httpd.conf. Our sys admins are Apache experts, so using a similar config format will help them. Also, support for Include and a block structure with parameter inheritence should help a great deal in reducing the complexity of large configurations.
At first glance, Apache::ConfigFile looked the perfect fit. It parses Apache's config format and provides access to the results. Unfortunately, a closer look revealed:
Now, for a more complicated piece of functionality I might be inclined to stick it out and try to fix the module. But for this one the costs of working on old code definitely outweighed the benefits of building from scratch.
Thus, after a very enjoyable 4 solid hours of hacking, I give you Config::ApacheFormat, version 1.0. I hope you like it.
I'm always surprised by how much I really enjoy the act of creative programming. My day job is so often focused on designing, managing, bug fixing, etc. Writing new code reminds me that I really do like my job, the good part anyway.
-sam