require File::Spec::VMS; # Done internally by File::Spec if needed
The mode of operation of these routines depend on the VMS features that are controlled by the DECC features "DECC$FILENAME_REPORT_UNIX" and "DECC$EFS_CHARSET".
Perl needs to be at least at 5.10 for these feature settings to work. Use of them on older perl versions on VMS will result in unpredictable operations.
The default and traditional mode of these routines have been to expect VMS syntax on input and to return VMS syntax on output, even when Unix syntax was given on input.
The default and traditional mode is also incompatible with the VMS "EFS", Extended File system character set, and with running Perl scripts under <GNV>, Gnu is not VMS, an optional Unix like runtime environment on VMS.
If the "DECC$EFS_CHARSET" feature is enabled, These routines will now accept either VMS or UNIX syntax. If the input parameters are clearly VMS syntax, the return value will be in VMS syntax. If the input parameters are clearly in Unix syntax, the output will be in Unix syntax.
This corresponds to the way that the VMS C library routines have always handled filenames, and what a programmer who has not specifically read this pod before would also expect.
If the "DECC$FILENAME_REPORT_UNIX" feature is enabled, then if the output syntax can not be determined from the input syntax, the output syntax will be UNIX. If the feature is not enabled, VMS output will be the default.
/tmp if C<DECC$FILENAME_REPORT_UNIX> is enabled.
sys$scratch:
$ENV{TMPDIR}
Since perl 5.8.0, if running under taint mode, and if $ENV{TMPDIR} is tainted, it is not used.
($volume,$directories,$file) = File::Spec->splitpath( $path );
($volume,$directories,$file) = File::Spec->splitpath( $path, $no_file );
Passing a true value for $no_file indicates that the path being split only contains directory components, even on systems where you can usually (when not supporting a foreign syntax) tell the difference between directories and files at a glance.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
An explanation of VMS file specs can be found at ``/h71000.www7.hp.com/doc/731FINAL/4506/4506pro_014.html#apps_locating_naming_files''`` in ''http:.