dwww Home | Manual pages | Find package

Config...ynamic(3pm)  User Contributed Perl Documentation  Config...ynamic(3pm)

NAME
       Config::Grammar::Dynamic - A grammar-based, user-friendly config parser

DESCRIPTION
       Config::Grammar::Dynamic is like Config::Grammar but with some
       additional features useful for building configuration grammars that are
       dynamic, i.e.  where the syntax changes according to configuration
       entries in the same file.

       The following keys can be additionally specified in the grammar when
       using this module:

   Special Section Keys
       _dyn        A  subroutine  reference  (function  pointer)  that  will be
                   called when a new section of this syntax is encountered. The
                   subroutine will get  three  arguments:  the  syntax  of  the
                   section name (string or regexp), the actual name encountered
                   (this  will be the same as the first argument for non-regexp
                   sections) and  a  reference  to  the  grammar  tree  of  the
                   section.   This  subroutine can then modify the grammar tree
                   dynamically.

       _dyndoc     A hash  reference  that  lists  interesting  names  for  the
                   section  that should be documented. The keys of the hash are
                   the names and the values in the hash are  strings  that  can
                   contain  an  explanation for the name. The _dyn() subroutine
                   is then called for each of these names and  the  differences
                   of   the   resulting   grammar  and  the  original  one  are
                   documented. This module can currently  document  differences
                   in  the  _vars list, listing new variables and removed ones,
                   and differences in the _sections list, listing the  new  and
                   removed sections.

       _recursive  Array  containing  the  list  of those sub-sections that are
                   recursive, ie.  that can contain a new sub-section with  the
                   same syntax as themselves.

                   The same effect can be accomplished with circular references
                   in  the  grammar  tree or a suitable _dyn section subroutine
                   (see  below},  so  this  facility  is  included   just   for
                   convenience.

   Special Variable Keys
       _dyn        A  subroutine  reference  (function  pointer)  that  will be
                   called when the variable  is  assigned  some  value  in  the
                   config  file.  The  subroutine will get three arguments: the
                   name of the variable, the value assigned and a reference  to
                   the  grammar tree of this section.  This subroutine can then
                   modify the grammar tree dynamically.

                   Note that no _dyn() call is made for default  and  inherited
                   values of the variable.

       _dyndoc     A  hash  reference  that  lists  interesting  values for the
                   variable that should be documented. The keys of the hash are
                   the values and the values in the hash are strings  that  can
                   contain  an explanation for the value. The _dyn() subroutine
                   is then called for each of these values and the  differences
                   of   the   resulting   grammar  and  the  original  one  are
                   documented. This module can currently  document  differences
                   in  the  _vars list, listing new variables and removed ones,
                   and differences in the _sections list, listing the  new  and
                   removed sections.

COPYRIGHT
       Copyright  (c)  2000-2005 by ETH Zurich. All rights reserved.  Copyright
       (c) 2007 by David Schweikert. All rights reserved.

LICENSE
       This program is free software; you can redistribute it and/or modify  it
       under the same terms as Perl itself.

AUTHORS
       David Schweikert, Tobias Oetiker, Niko Tyni

perl v5.34.0                       2022-05-26              Config...ynamic(3pm)

Generated by dwww version 1.16 on Tue Dec 16 06:34:10 CET 2025.