A lot of our system preferences use | to separate multiple values, but some don't, which makes handling them a little bit harder than it needs to be. Examples: ILS-DI:AuthorizedIPs NotesToHide z3950AuthorAuthFields DefaultLongOverdueSkipLostStatuses
The Alphabet syspref uses spaces as delimiter, because I found it hard to parse out the (non-ASCII) characters with e.g. a pipe as the delimiter.