summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlperl/lib/File/Spec/VMS.pm
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/tlperl/lib/File/Spec/VMS.pm')
-rw-r--r--Master/tlpkg/tlperl/lib/File/Spec/VMS.pm23
1 files changed, 12 insertions, 11 deletions
diff --git a/Master/tlpkg/tlperl/lib/File/Spec/VMS.pm b/Master/tlpkg/tlperl/lib/File/Spec/VMS.pm
index 6af1ac0b3d1..3072fabb6ab 100644
--- a/Master/tlpkg/tlperl/lib/File/Spec/VMS.pm
+++ b/Master/tlpkg/tlperl/lib/File/Spec/VMS.pm
@@ -4,7 +4,7 @@ use strict;
use vars qw(@ISA $VERSION);
require File::Spec::Unix;
-$VERSION = '3.40';
+$VERSION = '3.48_01';
$VERSION =~ tr/_//;
@ISA = qw(File::Spec::Unix);
@@ -27,7 +27,7 @@ there. This package overrides the implementation of these methods, not
the semantics.
The default behavior is to allow either VMS or Unix syntax on input and to
-return VMS syntax on output unless Unix syntax has been explicity requested
+return VMS syntax on output unless Unix syntax has been explicitly requested
via the C<DECC$FILENAME_UNIX_REPORT> CRTL feature.
=over 4
@@ -271,21 +271,22 @@ from the following list or '' if none are writable:
sys$scratch:
$ENV{TMPDIR}
-Since perl 5.8.0, if running under taint mode, and if $ENV{TMPDIR}
+If running under taint mode, and if $ENV{TMPDIR}
is tainted, it is not used.
=cut
-my $tmpdir;
sub tmpdir {
my $self = shift @_;
+ my $tmpdir = $self->_cached_tmpdir('TMPDIR');
return $tmpdir if defined $tmpdir;
if ($self->_unix_rpt) {
$tmpdir = $self->_tmpdir('/tmp', '/sys$scratch', $ENV{TMPDIR});
- return $tmpdir;
}
-
- $tmpdir = $self->_tmpdir( 'sys$scratch:', $ENV{TMPDIR} );
+ else {
+ $tmpdir = $self->_tmpdir( 'sys$scratch:', $ENV{TMPDIR} );
+ }
+ $self->_cache_tmpdir($tmpdir, 'TMPDIR');
}
=item updir (override)
@@ -335,14 +336,14 @@ sub file_name_is_absolute {
$file = $ENV{$file} while $file =~ /^[\w\$\-]+\Z(?!\n)/s && $ENV{$file};
return scalar($file =~ m!^/!s ||
$file =~ m![<\[][^.\-\]>]! ||
- $file =~ /:[^<\[]/);
+ $file =~ /^[A-Za-z0-9_\$\-\~]+(?<!\^):/);
}
=item splitpath (override)
- ($volume,$directories,$file) = File::Spec->splitpath( $path );
- ($volume,$directories,$file) = File::Spec->splitpath( $path,
- $no_file );
+ ($volume,$directories,$file) = File::Spec->splitpath( $path );
+ ($volume,$directories,$file) = File::Spec->splitpath( $path,
+ $no_file );
Passing a true value for C<$no_file> indicates that the path being
split only contains directory components, even on systems where you