Como os arquivos .plist
já são XML (ou podem ser facilmente convertidos), você só precisa de algo para decodificar o XML.
Para isso use xml2
:
$ cat com.apple.systemsound.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.sound.beep.volume</key>
<real>1</real>
</dict>
</plist>
$ xml2 < com.apple.systemsound.plist
/plist/@version=1.0
/plist/dict/key=com.apple.sound.beep.volume
/plist/dict/real=1
$
Você deve ser capaz de descobrir o resto.
Ou para Perl, use XML::Simple;
(consulte perldoc
para mais) para colocar a estrutura de dados XML em um hash.