
A path template is a string which can contain zero or one of a set of
special tokens.  The tokens indicate where in a path the system
specific component will be substituted, as well as the value of two
attributes, B<resolvelinks> and B<firstvalid>:

  Token   resolvelinks  firstvalid
  -----   -----------  ----------
   %s        false       false
   %p        false       false
   %P        false       true
   %l        true        false
   %L        true        true

If B<resolvelinks> is true, then after substitution any symbolic links
in the path are fully resolved.  This always results in an absolute
path.

If B<firstvalid> is true, then only the first existing path resulting
from the in order substitution of the system specific components is
retained.

For example, if the list of system specific components is

  c d e f

and the existent paths are

  /a/c /a/e /a/f

Then the path template C</a/%p> would result in a list of paths

  /a/c:/a/e:/a/f

while the path template C</a/%P> would result in

  /a/c
