Config::Maker takes a file with data in simple hierarchical format (similar to BIND and DHCP configuration files) and several templates, and produces the text by filling in the values. It is mainly useful for creating related configuration files. It can be used to generate firewall configuration scripts, DNS zone files, DHCP configuration files, a reference from a single file with all users and machines, etc. It's useful when you are not satisfied with keeping information synchronized in several places, but don't want something as complex as cfengine. Snippets of Perl can be used if all else fails.