man VCP::Utils () - utilities used within VCP's modules.


VCP::Utils - utilities used within VCP's modules.


   use VCP::Utils qw( shell_quote );


A mix-in class providing methods shared by VCP::Source::cvs and VCP::Dest::cvs, mostly wrappers for calling the cvs command.


   my $line = shell_quote \@command;
   my $line = shell_quote @command;
   print STDERR, $line, "\n";
Selectively quotes the command line to allow it to be printed in a non-vague fashion and to be pastable in the local shell (sh/bash on Unix, COMMAND.COM, etc. on Win32 and OS2). NOTE: May not be perfect; errs on the side of safety and doesn't try to escape things right on Win32 yet. Patches welcome.
Determines if a scalar value is empty, that is not defined or zero length.
Escape a string so that it may be used as a filename. Converts characters other than -, _, and alphanumerics to CW%NN% escape sequences where NN is the ordinal value (usually the ASCII value or UTF-8 codepoint) of the character.
   start_dir_rel2abs( $fn );
If CW$fn is a relative path (according to File::Spec), converts it to an absolute path using start_dir() as the base directory.
Returns the directory that was current when VCP::Utils was parsed.
Changes to a directory (unless we're already in that directory) and logs the change. Throws an exception on error. Sets CW$ENV{PWD}. You should use minimal canonical paths where possible so that CW$ENV{PWD} is a simple path. Some child processes might not like paths with thisdir (/./) or updir segments (/../). Relative paths are an error.


Copyright 2000, Perforce Software, Inc. All Rights Reserved.

This module and the VCP package are licensed according to the terms given in the file LICENSE accompanying this distribution, a copy of which is included in vcp.