Path: utzoo!attcan!uunet!lll-winken!lll-lcc!lll-tis!helios.ee.lbl.gov!pasteur!ucbvax!KIEWIT.DARTMOUTH.EDU!deh
From: deh@KIEWIT.DARTMOUTH.EDU ("KIEWIT::DEH")
Newsgroups: comp.os.vms
Subject: Re: "$" in Logicals
Message-ID: <8807111751.AA21251@dartvax.dartmouth.edu>
Date: 11 Jul 88 17:51:00 GMT
Sender: daemon@ucbvax.BERKELEY.EDU
Reply-To: "KIEWIT::DEH" 
Organization: The Internet
Lines: 27

> I have heard here, and elsewhere, that dollar signs ($) are "reserved"
> by digital for their own use in logicals.  Nevertheless our system
> managers have named our disks "PRODUCT$DISK" and such.  Could somebody
> clarify exactly WHERE DEC states this policy (e.g. in 4.6 release notes
> page blah-blah paragraph 87...) so I can go look it up.  Also, do device
> names qualify as logicals, and/or just what does the restriction cover?
>
In the version 5.0 _Guide_to_Creating_VMS_Modular_Procedures_ (AA-LA58A-TE),
Chapter 3, ``Coding'', discusses naming conventions for facilities, 
procedures, files, modules, PSECTs, lock resources, global variables,
and statuses.  Some are required, some only suggested.  In all cases, DEC
reserves the use of the ``$'' to itself and leaves ``_'' (underscore) to
the rest of the world.  Logical names are not explicitly mentioned here,
but the implication is clear.  Although some logical names are not 
deriviative from a software system (like your product$disk), many are,
and would automatically use an underscore instead of a dollar sign.

In the case of disks, VMS automatically gives them a logical name of the
form DISK$xxx, where xxx is the disk label.  This is a DEC defined name.
You could certainly use DISK$PRODUCT, even if the disk label were something
besides PRODUCT.  But someday, some DEC product just might want to use the
logical name PRODUCT$DISK.  

Even if you do change your locally defined name to PRODUCT_DISK, there is
still the problem of importing a third party package that uses that logical
name or filename.  If you use much third party software, such a collision is
likely to happen at some time.
------