3 use vars qw($default_dir);
8 FS::Conf - Read access to Freeside configuration values
14 $conf = new FS::Conf "/config/directory";
16 $FS::Conf::default_dir = "/config/directory";
21 $value = $conf->config('key');
22 @list = $conf->config('key');
23 $bool = $conf->exists('key');
27 Read access to Freeside configuration values. Keys currently map to filenames,
28 but this may change in the future.
34 =item new [ DIRECTORY ]
36 Create a new configuration object. A directory arguement is required if
37 $FS::Conf::default_dir has not been set.
43 my($class) = ref($proto) || $proto;
44 my($self) = { 'dir' => $dir || $default_dir } ;
45 bless ($self, $class);
50 Returns the directory.
61 Returns the configuration value or values (depending on context) for key.
68 my $fh = new IO::File "<$dir/$file" or return;
71 /^(.*)$/ or die "Illegal line in $dir/$file:\n$_\n";
75 <$fh> =~ /^(.*)$/ or die "Illegal line in $dir/$file:\n$_\n";
82 Returns true if the specified key exists, even if the corresponding value
89 my($dir) = $self->dir;
97 Write access (with locking) should be implemented.
101 config.html from the base documentation contains a list of configuration files.
105 Ivan Kohler <ivan@sisd.com> 98-sep-6
107 sub exists forgot to fetch $dir ivan@sisd.com 98-sep-27
110 Revision 1.2 1998-11-13 04:08:44 ivan
111 no default default_dir (ironic)