NAME
SWISH::Prog::Config - read/write Swish-e config files
SYNOPSIS
use SWISH::Prog::Config;
my $config = SWISH::Prog::Config->new;
DESCRIPTION
The SWISH::Prog::Config class is intended to be accessed via SWISH::Prog->new().
See the Swish-e documentation for a list of configuration parameters. Each parameter has an accessor/mutator method as part of the Config object. Some preliminary compatability is offered for SWISH::3::Config with XML format config files.
NOTE: Every config parameter can take either a scalar or an array ref as a value. In addition, you may append config values to any existing values by passing an additional true argument. The return value of any 'get' is always an array ref.
Example:
$config->MetaNameAlias( ['foo bar', 'one two', 'red yellow'] );
$config->MetaNameAlias( 'green blue', 1 );
print join("\n", @{ $config->MetaNameAlias }), " \n";
# would print:
# foo bar
# one two
# red yellow
# green blue
METHODS
NOTE this class inherits from Class::Accessor and not SWISH::Prog::Class.
new( params )
Instatiate a new Config object. Takes a hash of key/value pairs, where each key may be a Swish-e configuration parameter.
Example:
my $config = SWISH::Prog::Config->new( DefaultContents => 'HTML*' );
print "DefaultContents is ", $config->DefaultContents, "\n";
set
Override the Class::Accessor method.
get
Override the Class::Accessor method.
read2( path/file )
Reads version 2 compatible config file and stores in current object. Returns parsed config file as a hashref or undef on failure to parse.
Example:
use SWISH::Prog::Config;
my $config = SWISH::Prog::Config->new();
my $parsed = $config->read2( 'my/file.cfg' );
# should print same thing
print $config->WordCharacters->[0], "\n";
print $parsed->{WordCharacters}, "\n";
write2( path/file )
Writes version 2 compatible config file.
If path/file is omitted, a temp file will be written using File::Temp.
Returns full path to file.
Full path is also available via file() method.
file
Returns name of the file written by write2().
write3( path/file )
Write config object to file in SWISH::3::Config XML format.
as_hash
Returns current Config object as a hash ref.
all_metanames
Returns array ref of all MetaNames, regardless of whether they are declared as MetaNames, MetaNamesRank or MetaNameAlias config options.
stringify
Returns object as version 2 formatted scalar.
This method is used to overload the object for printing, so these are equivalent:
print $config->stringify;
print $config;
ver2_to_ver3( file )
Utility method for converting Swish-e version 2 style config files to SWISH::3::Config XML style.
Converts file to XML format and returns as XML string.
NOTE: This API is liable to change as SWISH::Config is developed.
my $xmlconf = $config->ver2_to_ver3( 'my/file.config' );
If file is omitted, uses the current values in the calling object.
TODO
IgnoreTotalWordCountWhenRanking defaults to 0 which is not the default in Swish-e. This is to make the RankScheme feature work by default. Really, the default should be 0 in Swish-e itself.
AUTHOR
Peter Karman, <perl@peknet.com>
BUGS
Please report any bugs or feature requests to bug-swish-prog at rt.cpan.org
, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=SWISH-Prog. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc SWISH::Prog
You can also look for information at:
RT: CPAN's request tracker
AnnoCPAN: Annotated CPAN documentation
CPAN Ratings
Search CPAN
COPYRIGHT AND LICENSE
Copyright 2006-2009 by Peter Karman
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.