NAME
VMS::FileUtils::SafeName -- convert special chars and case of filenames
Synopsis
use VMS::FileUtils::SafeName qw(:all) ;
$vmsusablename = safename('unix:..name &tc',$do_all_dots); $unixname = unsafename($vmsusablename); $path = safepath('x.y/version:1.2.3',$do_all_dots_filename); $unixpath = unsafepath($safepathoutput); $archivename = safe_archive('HTML-Parser-1.07.tar.gz');
DESCRIPTION
This package provides conversion between Unix filenames and VMS filenames where the Unix filenames may have characters that are illegal under VMS.
Spaces, punctuation, control characters, etc. get mapped to a sequence of the form '$6C'. Also the case of the original unix filename is preserved using '$' to shift from lower to uppercase:
Unix filename safename output
------------- ---------------
abc.DEF.ghi -> $ABC.$DEF$5NGHI
^ ^ ^^^ extra periods get converted
+----+-------change case
The conversion may be reversed with unsafename
The conversion provided here is the same as is contained in the Multinet and UCX NFS software.
Routines:
safename
Converts upper/lower case, punctuation etc. to chars valid for VMS filename. The first '.' in the filename is left intact (unless the second parameter to vmsify_name is true, in which case all .s are converted).
Lowercase is taken as the default for input filenames.
unsafename
Converts filenames produced by safename back to their original form.
safepath
Converts path elements into VMS-safe form. The trailing element (if the path doesn't end in a '/') can optionally have all periods converted, or (default) all but the first period converted. Path elements that correspond to directory names have all periods converted
unsafepath
Reverses the conversion done by safepath
safe_archive
Converts filename of the type typically used for CPAN archives into a VMS-compatible format:
HTML-Parser-1.07.tar.gz -> HTML-Parser-1_07.tar-gz
REVISION
This document was last revised on 10 Mar 1998, for Perl 5.004.59