GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Config::Options::Threaded(3) User Contributed Perl Documentation Config::Options::Threaded(3)

Config::Options::Threaded - Threaded version of module to provide a configuration hash with option to read from file.

        use Config::Options;

        my $options = Config::Options->new({ verbose => 1, optionb => 2, mood => "sardonic" });

        # Access option as a hash...
        print "My mode is ", $options->{mood}, "\n";

        # Merge a hash of options...
        $options->options({ optionc => 5, style => "poor"});

        # Merge options from file

        $options->options("optionfile", $ENV{HOME} . "/.myoptions.conf");
        $options->fromfile_perl();

Edward Allen, ealleniii _at_ cpan _dot_ org

The motivation for this module was to provide an option hash with a little bit of brains. It's pretty simple and used mainly by other modules I have written.

new()
Create new options hash. Pass it a hash ref to start with. Please note that this reference is copied, not blessed.

        my $options = Config::Options->new({hash_of_startup_options});
    
clone()
Creates a clone of options object.

        my $newoptions = $options->clone();
    
options()
This is a utility function for accessing options. If passed a hashref, merges it. If passed a scalar, returns the value. If passed two scalars, sets the option.

        my $optionsb = $options->options;     # Duplicates option file.  Not very usefull.
        $options->options($hashref);          # Same as $options->merge($hashref);
        my $value = $options->options("key")  # Return option value.
        $options->options("key", "value")         # Set an option.
    
merge()
Takes a hashref as argument and merges with current options.

        $options->merge($hashref);
    
deepmerge()
Same as merge, except when a value is a hash or array reference. For example:

        my $options = Config::Options->new({ moods => [ qw(happy sad angry) ] });
        $options->deepmerge({ moods => [ qw(sardonic twisted) ] });

        print join(" ", @{$options->{moods}}), "\n";
    

The above outputs:

        happy sad angry sardonic twisted
    
tofile_perl()
This is used to store options to a file. The file is actually a perl program that returns a hash. By default uses option 'optionfile' as filename, or value passed as argument.

If 'optionfile' is an array, then uses LAST option in array as default.

        $options->tofile_perl("/path/to/optionfile");
    
fromfile_perl()
This is used to retreive options from a file. The optionfile is actually a perl program that returns a hash. By default uses option 'optionfile' as filename if none is passed.

If 'optionfile' is an array, reads all option files in order.

Non-existant files are ignored.

Please note that values for this are cached.

        $options->fromfile_perl("/path/to/optionfile");
    
deserialize($data, $source)
Takes a scalar as argument and evals it, then merges option. If second option is given uses this in error message if the eval fails.

        my $options = $options->deserialize($scalar, $source);
    
serialize()
Output optons hash as a scalar using Data::Dumper.

        my $scalar = $options->serialize();
    
del($key)
Removes $key from options.

Deepmerge does not handle nested references well, but it tries.
For example, $options->deepmerge($options) is a mess.
fromfile_perl provides tainted data.
Since it comes from an external file, the data is considered tainted.

Config::General

Copyright (c) 2007 Edward Allen III. All rights reserved.

This program is free software; you can redistribute it and/or modify it under the terms of the Artistic License, distributed with Perl.

2008-02-20 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.