**** expander.pl 1.4 -- performs expansion of macros in a file ****
                            Goetz Pfeiffer 2005

Usage:
  expander.pl {options}

  options:
    -h: help
    -f [file]: process file(s)
      if the option is not defined, the input is 
      read from standard-input
      NOTE: -f can be omitted when the files are the last
      arguments given to expander.pl
    --summary: give a summary of the script
    -m [name=value] define a macros 
      more than one -m option is allowed
    -I [path] -I [path2]
      specify paths were to find the include-files (statement $include())  
    -b allow round brackets for variables like in $(myvar)
    -F all variables must be bracketed, so things like $abc are
       no longer recognized
    -r allow recursive variable expansion
    -n allow that variables are not defined
       (usually this aborts the script, but then only an
        error message is printed to stdout)
    --escaped_at -A "@" is changed to "@"

Short (incomplete) syntax description (see also manpage of expander.pm)

$name			-> macro replacement
$name[index]		-> indexed macro replacement
$set()	-> evaluate without printing

$set($name1= "value1";
     $name2= "value2")  -> macro definition

$eval()	-> evaluate with printing

$perl()    -> evaluate a plain perl-expression. Access
			   to variables is only possible with 
			   get_var() and set_var() but this construct
			   can be used import perl-modules or define
			   functions. 

$if ()
$else
$endif			-> conditional parsing

$for(;; parsing-loop

$begin
$end			-> define a block with local variables

$export()    -> export local variables to enclosing (outer)
 			   block

$comment (comment)	-> comment

$include () -> include the specified file

: many simple expressions that are valid in perl
can be used here