I began working on a perl binding for the key file parser inside Glib. I have an implementation almost ready, albeit not usable right now.
I’d like to translate a key file structure to the more perlish equivalent of an associative array; that is, I want to translate this:
[Section] # comment stringkey=astring intkey=42 boolkey=false
Into this:
print $keyfile->{Section}->{comment}; # prints "comment" print $keyfile->{Section}->{intkey}; # prints "42" ...
While skimming through the gkeyfile.[ch]
files, I’ve also noticed that you can’t create a key file in code, even though the infrastructure is in place (you can create an empty object, and you can remove groups and keys from a filled object). Thus I’ve created a bug inside Gnome’s bugzilla with a proper patch to expose the addition of groups and keys (here). I’ll notify the gtk-devel mailing list, and see if someone wants to review (and apply) my patch.
On the language binding friendlyness side, I’ve also made a patch that transforms the GKeyFile
structure in a reference counted object, but I won’t submit it, since it seems that no structs inside Glib core are refcounted. Pity, but I learned something new.