2.32
- fixed rt.cpan.org#24232 - import ENV vars only if defined
- fixed rt.cpan.org#20742 - dont' overwrite a var if re-defined
in current scope, interpolation failed for re-defined vars and used
the value of the var defined in outer scope, not the current one.
- fixed rt.cpan.org#17852 - a 0 as blockname were ignored. applied
patch by SCOP to t/run.t to test for 0 in blocks.
- applied most hints Perl::Critic had about Config::General:
o the functions ParseConfig SaveConfig SaveConfigString must
now imported implicitly. This might break existing code, but
is easily to fix.
o using IO::File instead of open().
o General.pm qualifies for "stern" level after all.
- added much more tests to t/run.t for 'make test'.
- using Test::More now.
2.31
- applied patches by Jason Rhinelander <jagerman@jagerman.com>:
o bugfix: multiple levels if include files didn't
work properly.
o new option -IncludeDirectories, which allows
to include all files of a directory. The directory
must be specified by -ConfigFile as usual.
o new option -IncludeGlob, which allows to
use globs (wildcards) to include multiple files.
o -ConfigPath can be speciefied using a single
scalar value instead of an array if there is only
one path.
o bugfix: quotes from quoted block names were
not removed properly.
o fixes and updates for tests (make test) for
the above patches.
Thanks a lot Jason.
- fixed number of tests in run.t
- applied suggestion by Eric Kisiel <eric.kisiel@adelphia.com>:
::Extended::keys() returns an empty hash if the
referring object is not hash.
- fixed bug #14770, "Use of uninitialized value.." during
environment variable interpolation.
2.30
- applied patch by Branislav Zahradnik
<brano@blueorange.sk> which adds -InterPolateEnv.
This allows to use environment variables too. It
implies -InterPolateVars.
- added object list capability for the ::Extended::obj()
method. If a certain key points to an array of
hashrefs, then the whole arrayref is returned.
Suggested by Alan Hodgkinson <alan@softxs.ch>.
2.29
- applied patch by brian@kronos.com via rt.cpan.org
#11211.
- applied patch by plasmaball@pchome.com.tw via
rt.cpan.org #5846
- added new files to MANIFEST file.
- added example.cfg to show the config format.
2.28
- fixed bug in save(), now blocks containing whitespaces
will be saved using quotes, in addition the parser observes
the quoting feature, added portion about this to the pod
doc. pointed out by Jeff Murphy <jcmurphy@jeffmurphy.org>.
- added internal list of files opened so far to avoid
reading in the same file multiple times.
Suggested by Michael Graham.
- added new method files() which returns the above list.
- added workaround for foolish perl installation on
debian systems (croak() doesn't work anymore as of
5.8.4, it's a shame!)
- applied patch by Michael Graham which fixes IncludeRelative
feature, now an included file is being included relative
to the calling config file, not the first one.
- added 'make test' targets for files() and include
stuff. (by Michael too)
module directory has changed (eg. "darwin-2level" vs.
"darwin-thread-multi-2level").
binary packages of perl modules need to be distinguishable between
being built against threaded perl and unthreaded perl, so bump the
PKGREVISION of all perl module packages and introduce
BUILDLINK_RECOMMENDED for perl as perl>=5.8.5nb5 so the correct
dependencies are registered and the binary packages are distinct.
addresses PR pkg/28619 from H. Todd Fujinaka.
2.27
- bugfix in _store, which caused warning when saving
a config containing empty hashes. Reported by
herbert breunung <deirdre_skye@web.de>.
- removed applied patch (added in 2.20), there are no more
calls to binmode(), this destroys portability, because
perls determines itself wether it uses \n or \r\n as newline.
Reported by herbert breunung too.
- applied patch by Danial Pearce <danial@infoxchange.net.au>,
scalars containing a backslash as the last character will
be written out as here-doc when storing a config to disk.
- fixed invalid regexp in _open()
- fixed bug with not working -IncludeRelative setting when
including a config file.
- add the -BackslashEscape parameter to enable general escaping
of special characters
- added feature
now block statements like this are allowed: "<directory blah/>"
- fix a bug with the -Tie option, sub-hashes of named blocks were
not properly created (in fact, not tied).
- fixed bug in new() used $this instead of $self for empty
hashref creation if no config file given.
for a possessive (like her, his, whose, their, and its).
Note that I didn't check for proper use of "its" (when it should
be "it is" or "it has" instead).
I also saw over 15 other grammar or punctuation problems, but not
fixed in this commit.
- forgot to import 'catfile' from File::Spec. Bug reported by
various people.
- applied patch by Peter Tandler <Peter.Tandler@ipsi.fhg.de>
which adds a search-path feature for include files.
- adds an auto launder capability to the module which makes it
possible to use variables read by Config::General in a
tainted perlscript (executed with -T) for open(), backtick calls
or something which the taintmode considers to be dangerous.
- fixed Bug #2325 (rt.cpan.org). The subs exported by File::Spec
will now imported explicitly.
- fixed warning about double my'ed variable $dummi, changed it
to undef because it was unused anyway.
- added File::Spec support which makes the modules more portable
- fixes a bug in the Interpolate.pm submodule. A second variable,
when immediately following the first, did not get interpolated,
i.e. ${var1}${var2}.
Collection.
Provided in PR pkg/20501 by Jonathan Perkin
<sketch at rd dot bbc dot co dot uk>.
Config::General opens a config file and parses it's contents for
you. After parsing the module returns a hash structure which contains
the representation of the config file.
The format of config files supported by Config::General is inspired
by the well known apache config format, in fact, this module is
100% read-compatible to apache configs, but you can also just use
simple name/value pairs in your config files.