On 15/08/05, Carl Friedberg <[EMAIL PROTECTED]> wrote: > sebb wrote: > > JEM wrote: > > > Test 7 is failing because normally on VMS, unless you > > specify otherwise, > > > you get exclusive access to the file, so the second open is failing. > > > > > > The logical name DECC$FILE_SHARING defined as "ENABLE" will > > change VMS > > > behavior to that of UNIX which will allow test 7 to pass. > > > > > > I can probably come up with some code to have the script on VMS make > > > sure that that value is set and to clear it on exit. > > > > Would it not be better to fix the VMS Perl open() call so it works the > > same as on other OSes?
I meant for READ access only here. > > I'll jump in here with my own 2-cents worth. > > On VMS, the default behavior makes sense. VMS is a > multi-user system, and when you open a file, the > default access is exclusive. VMS has rich file > sharing semantics, so it is easy to change this > behavior; but a VMS user expects default access > to be exclusive. I use VMS and I don't ... For example, the VMS TYPE command allows one to look at the contents of batch LOG files, but Perl cannot _read_ the same file without the work-round above (or vmsopen() with suitable parameters). > Changing this behavior to conform to perl usage on > other OSes could be a configuration option; but > the default "no surprise" behavior should be > exclusive access. IMO, the surprise in this case is that Perl can't open a file that TYPEs OK ... > Most of the files I use within Perl are flat text > files where file sharing would not be feasible. Not even _read_ access? > If a VMS programmer is working on a VMS > "RMS indexed" or "RMS relative" file organization, > then a different sharing option might be > appropriate, but that needs to be dealt with in > VMS-specfic .xs files that manipulate those files. > > Again, just my 2 cents. > > Carl Friedberg > [EMAIL PROTECTED] > +1.212.233.5470 > www.comets.com > > >