Here is a fairly clear illustration of the bug: $ show logical e0 "E0" = "DKA104:[USERS.]" (LNM$SYSTEM_TABLE) $ show default E0:[PERL.581RC.PERL_20760_PATCHED_B1] $ perl "-MFile::Spec" -e "print File::Spec->abs2rel($^X)" [---.users.perl.581rc.perl_20760_patched_b1]ndbgperl.exe;3 $ perl -e "print $^X" dka104:[users.perl.581rc.perl_20760_patched_b1.][000000]ndbgperl.exe;3 The abs2rel() return value is "incorrect" whereas the raw $^X is correct. Note what happens after I set def to the physical path of the directory: $ set def DKA104:[USERS.PERL.581RC.PERL_20760_PATCHED_B1] $ perl -e "print $^X" dka104:[users.perl.581rc.perl_20760_patched_b1.][000000]ndbgperl.exe;3 $ perl "-MFile::Spec" -e "print File::Spec->abs2rel($^X)" ndbgperl.exe;3 It looks like the spurious --- in the rooted logical path case are prepended in lines 427 to 447 of [.lib.File.Spec]VMS.pm. Peter Prymmer
