diff options
author | Charles Bailey <bailey@newman.upenn.edu> | 2000-05-25 04:46:54 +0000 |
---|---|---|
committer | bailey <bailey@newman.upenn.edu> | 2000-05-25 04:46:54 +0000 |
commit | 047bb92375fda1f7ef9e82802ecc80e6477642ad (patch) | |
tree | 2a9a790f385e4e4c15a0bebd787429378f4eb4bf | |
parent | db161779604abab66e82b5cfc97a2ae31ea98051 (diff) | |
download | perl-047bb92375fda1f7ef9e82802ecc80e6477642ad.tar.gz |
Allow eliminate_macros() and fixpath() to handle space-delimited
lists (based on fixes by Craig Berry)
p4raw-id: //depot/vmsperl@6121
-rw-r--r-- | lib/File/Spec/VMS.pm | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/File/Spec/VMS.pm b/lib/File/Spec/VMS.pm index d2be87c660..cc06ca636d 100644 --- a/lib/File/Spec/VMS.pm +++ b/lib/File/Spec/VMS.pm @@ -40,6 +40,11 @@ sub eliminate_macros { my($self,$path) = @_; return '' unless $path; $self = {} unless ref $self; + + if ($path =~ /\s/) { + return join ' ', map { $self->eliminate_macros($_) } split /\s+/, $path; + } + my($npath) = unixify($path); my($complex) = 0; my($head,$macro,$tail); @@ -89,6 +94,12 @@ sub fixpath { $self = bless {} unless ref $self; my($fixedpath,$prefix,$name); + if ($path =~ /\s/) { + return join ' ', + map { $self->fixpath($_,$force_path) } + split /\s+/, $path; + } + if ($path =~ m#^\$\([^\)]+\)\Z(?!\n)#s || $path =~ m#[/:>\]]#) { if ($force_path or $path =~ /(?:DIR\)|\])\Z(?!\n)/) { $fixedpath = vmspath($self->eliminate_macros($path)); |