Provided by: libcatmandu-perl_0.9505-1_all bug

NAME

       Catmandu::Fix::include - include fixes from another file

SYNOPSIS

           include('/path/to/myfixes.txt')

NOTES

       path is relative to a Catmandu load path
               #1. a catmandu load path is a directory where a catmandu configuration file can be found
               #2. as there are multiple load paths, it will loop through all the path, and include the first file it can find
               #3. in catmandu, the default_load_path is either
               #   3.1. the directory of the running script
               #   3.2. the parent directory of the running script if the directory is 'bin'

               #use default load_path
               #called from script "/opt/catmandu-project/fix.pl"
               #default_load_path: /opt/catmandu-project
               #file must be located at "/opt/catmandu-project/fixes/myfixes.txt"
               Catmandu->fixer("include('fixes/myfixes.txt')");

               #use default load_path
               #called from script "/opt/catmandu-project/bin/fix.pl"
               #default_load_path: /opt/catmandu-project (notice the absence of 'bin')
               #file must be located at "/opt/catmandu-project/fixes/myfixes.txt"
               Catmandu->fixer("include('fixes/myfixes.txt')");

               #load fixes, located at /opt/catmandu-project/fixes/myfixes.txt
               Catmandu->load("/opt/catmandu-project");
               Catmandu->fixer("include('fixes/myfixes.txt')");

               #look for 'fixes/myfixes.txt' in /opt/catmandu-project2, and if that fails in /opt/catmandu-project-1
               Catmandu->load("/opt/catmandu-project2","/opt/catmandu-project-1");
               Catmandu->fixer("include('fixes/myfixes.txt')");

               #if "/opt/catmandu-project/fixes/myfixes2.txt" does not exists, the fix will fail
               Catmandu->load("/opt/catmandu-project");
               Catmandu->fixer("include('fixes/myfixes2.txt)");

       circular references are not detected
       if the 'include' is enclosed within an if-statement, the fixes are inserted in the control
       structure, but only executed if the if-statement evaluates to 'true'.
               #the fixes in the file 'add_address_fields.txt' are only executed when field 'name' has content,
               #but, the fixes are included in the control structure.
               if all_match('name','.+')
                   include('add_address_fields.txt')
               end

SEE ALSO

       Catmandu::Fix