With Config::Model::Backend::Augeas, Config::Model now provides a way to load and save data through RedHat's Augeas library. Augeas is also a configuration editing tool. It parses configuration files in their native formats and transforms them into a tree. Configuration changes are made by manipulating this tree and saving it back into native config files. Both Augeas and Config::Model rely on a tree to represent configuration data. On one side, Augeas is able to load and write data while respecting the structure and comments of the original configuration file. But Augeas purpose is not to validate the semantic content of the configuration file. On the other side, Config::Model is able to validate the semantic content of the configuration file, but it will discard all comments and will write back configuration data using a canonical order. Thus the comments and structure of the original configuration file is not preserved. You can now have the best of both worlds by using the Augeas library to load and write data from Config::Model configuration tree. You can now instruct Config::Model to use Augeas backend in the autoread and autowrite feature. See Config::Model::Autoread for details. Unfortunately, you must ensure that the tree representation specified in Config::Model and Augeas lens are quite close together: - Config::Model element names and Augeas lens names must be identical - Both structures must be very close. Each Config::Model node must have a corresponsing lens. Last, but not least, Config::Model will write data back in Augeas in a rather crude way: all Augeas data for the saved file are wiped out and written back from Config::Model data. This ensures that data removed from Config::Model by the user are also removed from Augeas. Nevertheless, reading and writing through Augeas should work quite well as Augeas will still keep track of the original file structure. See Config::Model::Backend::Augeas to use Augeas with your configuration model.