Michael Schwern wrote:

!Just out of curiousity and desperate hope, this:
!
!VOLUME:[foo.bar][baz.biff]file.wif
!
!wouldn't happen to be equivalent to this:
!
!VOLUME:[foo.bar.baz.biff]file.wif
!
!?

If simple string concatenation were possible it would not
have been necessary for File::Spec to have goofy
subs like catfile() and catdir() that are distinct from
each other, now would it?  :-)

As it happens, no that simple concat does not work.
Here is a real world example using the logical name
associated with a mounted volume:

$ dir/nohead/notrail disk$perl:[perl-5_6_1_root.lib.time]gmtime.pm
DISK$PERL:[PERL-5_6_1_ROOT.LIB.TIME]GMTIME.PM;1

whereas the following two are errors:

$ dir/nohead/notrail disk$perl:[perl-5_6_1_root][lib.time]gmtime.pm
%DIRECT-E-OPENIN, error opening
DISK$PERL:[PERL-5_6_1_ROOT][LIB.TIME]GMTIME.PM as input
-RMS-F-SYN, file specification syntax error
$ dir/nohead/notrail disk$perl:[perl-5_6_1_root][.lib.time]gmtime.pm
%DIRECT-E-OPENIN, error opening DISK$PERL:[PERL-5_6_1_ROOT]
[.LIB.TIME]GMTIME.PM as input
-RMS-F-SYN, file specification syntax error

If I emulate a rooted logical name I can "ls" that file:

$ dir/nohead/notrail disk$perl:[perl-5_6_1_root.][lib.time]gmtime.pm
DISK$PERL:[PERL-5_6_1_ROOT.][LIB.TIME]GMTIME.PM;1

Had there been a translation concealed terminal logical name
that last one would not have worked either.  Here is
an illustration:

$ define/trans=(conc,term) perl_root DKA200:[perl-5_6_1_root.]

This works as expected:

$ dir/nohead/notrail perl_root:[lib.time]gmtime.pm
PERL_ROOT:[LIB.TIME]GMTIME.PM;1

These do not work:

$ dir/nohead/notrail perl_root:[lib][time]gmtime.pm
%DIRECT-E-OPENIN, error opening PERL_ROOT:[LIB][TIME]GMTIME.PM as input
-RMS-F-SYN, file specification syntax error
$ dir/nohead/notrail perl_root:[lib][.time]gmtime.pm
%DIRECT-E-OPENIN, error opening PERL_ROOT:[LIB][.TIME]GMTIME.PM as input
-RMS-F-SYN, file specification syntax error

In contrast to the use of the volume label example above
this does not work:

$ dir/nohead/notrail perl_root:[lib.][time]gmtime.pm
%DIRECT-E-OPENIN, error opening PERL_ROOT:[LIB.][TIME]GMTIME.PM as input
-RMS-F-DEV, error in device name or inappropriate device type for operation

And for completeness this does not work either:

$ dir/nohead/notrail perl_root:[lib.][.time]gmtime.pm
%DIRECT-E-OPENIN, error opening PERL_ROOT:[LIB.][.TIME]GMTIME.PM as input
-RMS-F-DEV, error in device name or inappropriate device type for operation

HTH

Peter Prymmer


Reply via email to