The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

CfgTie::CfgArgs -- Configuration module for parsing commandline arguments

SYNOPSIS

This module is meant to help create useful configuration tools and utilities.

DESCRIPTION

A tool to allow many of your computer's subsystems to be configured. This module parses commandline arguments. It is provided to help create a standardized lexicon.

Scope controls and settings

To specify how much of your system should be affected by the change in settings:

  --scope=session|application|user|group|system

In addition, each of the individual parts can specified (instead of their defaults):

--application=NAME
--application NAME

This specifies the application.

--user=NAME
--user NAME

This specifies the user name.

--group=NAME
--group NAME

This specifies the group name.

Operations on variables

The specific operation to be done:

        --op=set|unset|remove|delete|exists|fetch|get|copy|rename

or:

        --copy   name1=name2 name3=name4 ...
        --exists name1 name2 name3 ...
        --test   name1=value1 name2=value2 ...
        --unset  name1 name2 ...
--delete NAME
--delete=NAME

This will remove the entry specified by NAME. NAME may be a regular expression.

--fetch NAME
--fetch=NAME

This will retrieve the information associated with NAME. If NAME is a regular expression, information will retrieved for every entry that matches the pattern.

--remove NAME
--remove=NAME

Like delete above, this will remove the entry specified by NAME. NAME may be a regular expression.

--rename NAME-NEW=NAME-OLD

This will change all of the occurrences or references that match NAME-OLD to the newer form of NAME-NEW. This may be a regular expression, similar to;

        s/NAME-OLD/NAME-NEW/
--set NAME=VALUE

This will create an entry called NAME with a setting of VALUE.

The variable names are optional, and can be explicitly specified:

        --name

Otherwise it is assumed to be the first no flag parameter.

Similarly, the value can be specified

        --value

Other flags

--file FILE
--file=FILE

This specifies the configuration file to employ. If none is specified, the default for the particular subsystem will be used instead.

--comment COMMENT
--comment=COMMENT

This provides a text comment on what changes are being made.

        -n,
        --dry-run,
        --just-print
        --recon

With these flags, the utility program should not modify any files. Instead, it should merely document what changes it would make, what programs it would run, etc.

        --copyright
        --help
        --info
        --information
        --manual
        --verbose
        --version
        --warranty

Exit value

If the operation exists the return value is zero, otherwise it is nonzero.

Return from parsing

The hash return:

   {
      SCOPE=> session,application,user,group,system
      OP  => COPY, RENAME, STORE, DELETE, FETCH, or EXISTS
      KEY =>
      VALUE=>
   }

AUTHOR

Randall Maas (mailto:randym@acm.org, http://www.hamline.edu/~rcmaas/)