================= Decision::Depends ================= NAME Decision::Depends - Perform actions based upon file dependencies DESCRIPTION Decision::Depends is a module which simplifies the creation of procedures with intermediate steps which can be skipped if certain dependencies are met. Think of it as a procedural version of make. Decision::Depends is useful when there are several steps in a process, each of which depends upon the last. If the process is interrupted, or if it is to be redone with changes to parameters in later steps, and if intermediate results can be kept, then Decision::Depends can insure that only the minimal number of steps be redone. Each step must result in a tangible product (a file). For complicated steps with many products the step's successful completion may be indicated by creating an empty file whose existance indicates completion. This file (a "status" file in Decision::Depends terminology) can be automatically created if requested. Decision::Depends determines if the product for a given step is older than any files required to produce it. It can also check whether the contents of a file have changed since the product was last created. This is useful in the case where a configuration file must be created anew each time, but results in action only if changed since the product was last created. Finally, it can determine if a variable's value has changed since the product was last created. DEPENDENCIES YAML Test::More INSTALLATION This package has been tested with Perl 5.6.1 on Solaris 2.8. perl Makefile.PL make make test make install CAVEATS The tests poke at the innards. Be careful if you use them as examples that you don't use undocumented interfaces, as they may change (in particular, don't use $Decision::Depends::self). CHANGES 0.15 ---- dependency lists may now use hashrefs to associate attribute values with ordinary values. this can be used to greatly simplify the set up of variable dependencies Major changes only. See the Changes file for more details. COPYRIGHT Copyright (C) 2000-2002 Smithsonian Astrophysical Observatory. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA AUTHOR Diab Jerius ( djerius@cpan.org )