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.
- shell_quote
-
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.
- empty
- Determines if a scalar value is empty, that is not defined or zero
length.
- escape_filename
- Escape a string so that it may be used as a filename. Converts characters
other than "-", "_", and alphanumerics to
%NN% escape sequences where NN is the ordinal
value (usually the ASCII value or UTF-8 codepoint) of the character.
- start_dir_rel2abs
-
start_dir_rel2abs( $fn );
If $fn is a relative path (according
to File::Spec), converts it to an absolute path using start_dir()
as the base directory.
- start_dir
- Returns the directory that was current when VCP::Utils was parsed.
- xchdir
- Changes to a directory (unless we're already in that directory) and logs
the change. Throws an exception on error. Sets
$ENV{PWD}.
You should use minimal canonical paths where possible so that
$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.