The main configuration file, lxr.conf, is a parenthesis-enclosed comma-separated list of parameters:

( parameter_group-0, parameter_group-1, ..., parameter_group-n )

In Perl jargon, it is a list. Since it is Perl, white spaces and end of lines may appear anywhere to give the list a nicer look. Thus, it may also be written as:

( parameter_group-0 , parameter_group-1 , ... , parameter_group-n )

You may also add comments starting them with a pound sign (#). They extend to the end of the line:

# This is a full line comment ( parameter_group-0 , parameter_group-1 , ... # The ellipsis stands for more parameters , parameter_group-n )

Parameter_group-0 is always read in. It contains global parameters available for every tree description.

Only one of the other parameter groups is also read. The group is selected by matching the URL with parameters 'host_names', 'virtroot' and, eventually starting with release 2.0, 'treename' (or, for compatibility with previous releases, baseurl or its aliases baseurl_aliases).

Every parameter group is a curly braces-enclosed comma-separated list of key/value pairs:

{ key-0 => value-0, key-1 => value-1, ..., key-n => value-n }

In Perl jargon, it is a hash. The key is a string. The value may be a string, a number, a list, an array or a hash.