My experience is very simple: XML. There is explanation:
- XML is human readable and machine readable
- XML is platform independent
- XML has strict definition of well-formedness
- There are some tools how to check validity (I prefer RelaxNG)
- Configuration is, generally, the tree structure of data. XML naturally fits it.
- There is a lot of mature techniques how to deal with XML - parse it into perl structure directly, DOM, XPATH, XSLT, XInclude...
Aditionally, when the user is not able to edit XML, he/she is not able to edit other format too - I know, this fact is not so black and white...
I know that there is some disadvantages, too. But I wanted to describe the advantages.