The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

SYNOPSIS

  $client = Gnome2::GConf::Client->get_default;
  $client->set($config_key,
      {
        type  => 'string',
        value => 'Hello, World',
      });
  print "The Meaning of Life." if ($client->get($another_key)->{value} == 42);

DESCRIPTION

GConfValue is a dynamic type similar to GValue, and represents a value that can be obtained from or stored in the configuration database; it contains the value bound to a key, and its type.

In perl, it's an hashref containing these keys:

type

The type of the data. Fundamental types are 'string', 'int', 'float' and 'bool'. Lists are handled by passing an arrayref as the payload of the value key:

        $client->set($key, { type => 'string', value => 'some string' });
        $client->set($key, { type => 'float',  value => 0.5           });
        $client->set($key, { type => 'bool',   value => FALSE         });
        $client->set($key, { type => 'int',    value => [0..15]       });
        

Pairs are handled by using the special type 'pair', and passing, in place of the value key, the car and the cdr keys, each containing an hashref representing a GConfValue:

        $client->set($key, {
                        type => 'pair',
                        car  => { type => 'string', value => 'some string' },
                        cdr  => { type => 'int',    value => 42            },
                });

This is needed since pairs might have different types; lists, instead, are of the same type.

value

The payload, containing the value of type type. It is used only for fundamental types (scalars or lists).

car, cdr

Special keys, that must be used only when working with the 'pair' type.

SEE ALSO

Gnome2::GConf(3pm), Gnome2::GConf::Entry(3pm), Gnome2::GConf::Schema(3pm), Gnome2::GConf::ChangeSet(3pm).