Author image William J. Middleton


VCS::PVCS - Global configuration class for for VCS::PVCS::*.


  use VCS::PVCS::Project;  # preferred
  $project = new VCS::PVCS::Project("ProjectName");


The VCS::PVCS class simply parses the PVCS global configuration files, including and MASTER.CFG, found in PVCSPROJ. The resulting object is then included in the VCS::PVCS::Project object as it's "CONFIG". The class members are used at various times in other subclasses, as needed.

NOTE: This module may require some configuration. If your scripts wont run, you may need to hardwire some of the global parameters, including $ISLVINI, $PVCSPROJ, $NFSMAP, $PVCS_BINDIR and possibly others. You should inspect the module before installing it, to verify the settings will work.

This module also exports several GLOBAL variables, which are used in various places throughout it's children, and can be used in scripts which load the VCS::PVCS::Project class. These variables include, but may not always be limited to:


PVCSERR is set to the current value of $? after each command.


PVCSDEBUG can be turned on to see copious (sometimes useful) debugging output as the module is configuring itself, and running.


PVCSOUTPUT is all of the output from the current method, when it executes a pvcs command. If the command was executed on a folder or project-wide basis, then PVCSOUTPUT contains ALL of the output for all archives.


PVCSCURROUTPUT is ONLY the output for the most recent command sent to the shell.


PVCSSHOWMODE is turned on to see, and not execute, commands.


PVCS_BINDIR is set in the environment or in to be the location of the PVCS binaries, get, put, vlog, vcs, vdiff, etc.


PVCSMASTERCFG is the path to the master configuration file. This variable is not exported to the world through VCS::PVCS::Project, but only intended for internal use.


PVCSCURRPROJCFG is the location of the current projects' Config file. This variable is not exported to the world through VCS::PVCS::Project, but only intended for internal use.


PVCSMULTIPLATFORM tells the modules whether to make certain path translations when operating on something other than WIN. Turn this on if you are using PVCS in a multiplatform environment.

This variable is turned on automatically if an NFSMAP is found


PVCSPROJ is the base directory for all PVCS control files.

Ordinarily, this class wont be used directly. Rather, it is in the @ISA for VCS::PVCS::Project. When creating a new VCS::PVCS::Project object, this module's new() method is invoked automatically.


Bill Middleton,


The PVCS module is Copyright (c) 1998 Bill Middleton. All rights reserved.

You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the Perl README file.


The VCS::PVCS modules are free software.


Commercial support agreements for Perl can be arranged via The Perl Clinic. See for more details.


perl(1), VCS::PVCS::Project