Есть ли какая-то облегченная поддержка пользовательских предпочтений в CPAN? - PullRequest
2 голосов
/ 20 сентября 2010

Я хочу, чтобы моя программа на Perl поддерживала как реестр Win32, так и аналогичные функции в Linux.

GConf может быть, хорошая идея, но она слишком тяжелая. Есть ли какая-то облегченная поддержка пользовательских предпочтений в CPAN?

1 Ответ

2 голосов
/ 20 сентября 2010

Почему бы не использовать YAML YAML::XS)?

Теперь главное, что предлагает мне YAML, это то, что он поддерживает вложенные структуры. Таким образом, вы все равно можете сохранить концепцию Key.subkey.subkey.... в реестре Windows и, таким образом, сохранить структуру концепции схожей.

Вам потребуется создать объект, который читает файл YAML, а затем обрабатывает запросы и хранилище по путям. В YAML вы даже можете создавать разделы HKEY_CURRENT_USER или что-то в этом роде.

---
HKEY_LOCAL_MACHINE:
  Software:
    Brand A:
      Product P:
        Items: 
          - One
          - Two
          - Three

И вы прочитали бы это, превратив '/HKEY_LOCAL_MACHINE/Software/Brand A/Product P/Items' в

$yaml_reg->{HKEY_LOCAL_MACHINE}{Software}{'Brand A'}{'Product P'}{Items}
...