There are a slew of perl INI, config, and file read/write/rewrite modules on CPAN, with varying degrees of 'round trip'.
I interpret Federico's jonsing wrto the linked Python mod as a request for contextual preservation (presentation: comment, sequence, & whitespace), which is required for sanely allowing a Perl-Tk/-Wx/PythonTk/etc scripted GUI wizard to edit a hand-crafted config file, and to honor the principle of Least Surprise. Round-trip and preserve claims on CPAN include - * http://search.cpan.org/~makamaka/JSON-2.17/ (data only, not comments) * http://search.cpan.org/~ovid/TAPx-Parser-0.50_07/lib/TAPx/Parser/YAML.pm (ditto) * http://search.cpan.org/~adamk/YAML-Tiny-1.41/lib/YAML/Tiny.pm (ditto) * http://search.cpan.org/~dconway/Config-Std-0.007/lib/Config/Std.pm (context too) * http://search.cpan.org/~spang/Config-GitLike-1.03/lib/Config/GitLike.pm ("context") * http://search.cpan.org/~eric/OpenPlugin-0.11/OpenPlugin/Config/Ini.pm (context) Most general module with round-trip for contextual info (comments, whitespace, sequence) not just data seems to be Damian's Config::Std. Damian wrote this for the PBP book since there wasn't a module existing at the right mix of richness and simplicity for him to recommend (Papa and Baby Bear semi-recommendations are Config::General and Config::Tiny, respectively, neither of which preserves context). The latest flurry of updates (Sep & Nov 2009; after 3.5 year hiatus) made progress that isn't reflected in the RT queue (no 'Fixed in' for v0.05 .. V0.07). https://rt.cpan.org/Public/Dist/Display.html?Name=Config-Std http://cpansearch.perl.org/src/DCONWAY/Config-Std-0.007/Changes At least that burst of activity means I can stop calling it dormant (which by policy is a reason to reject a FLOSS distribution at $DayJob). Adopting this module would be a good project for an ambitious person or group, as the ecological niche is still open for vigorous growth. Would Boston.PM be interested in doing perhaps twice yearly workshop / coding sprints to validate test implement test enhancements to Config::Std, if Damian would have us ? Bill Permanent Interim Facilitator, Boston.PM (or is that Interim Permanent?) Hardly speaking for $DayJob _______________________________________________ Boston-pm mailing list [email protected] http://mail.pm.org/mailman/listinfo/boston-pm

