Unless things have changed much in the last nine months, I surmise from the mail below 
that Perl isn't promising much, at present, in the way of support for extended file 
specification syntax.  That about right?

I tried something involving periods that weren't delimiters, in PERL5LIB among other 
things, and it looks to me like it didn't do too well with that:

$ SHOW LOGICAL PERL5LIB

    "PERL5LIB" = "$1$DUA1400:[RE_TOEDEL.SAS^.9^.1.INSTALL.PGM]"  

 ...

Can't locate constants.pm in @INC (@INC contains: 
/$1$DUA1400/RE_TOEDEL/SAS^/9^/1/INSTALL/PGM perl_root:[lib.VMS_AXP.5_6_1] 
perl_root:[lib] perl_root:[lib.site_ perl.VMS_AXP] perl_root:[lib.site_perl] 
/perl_root/lib/site_perl .)

Looks to me like it didn't correctly translate PERL5LIB from VMS to Unix syntax, which 
would be one case of this part of your mail:

> There are lots of places in vms.c that do their own filespec
> parsing based on the traditional delimiters (<>[]:).  It's 
> entirely possible for legal ODS-5 filespecs to get parsed 
> incorrectly.  Not sure how to handle that.

I'm still on Perl 5.6.1, but it sounds like things haven't moved forward much in that 
area.  Not complaining, mind you -- I know you don't need that, you need people to 
step forward and do things -- just asking whether I'm right about this.  

Thanks.  / Tom Edelson

P.S.  I thought it might work if I defined PERL5LIB correctly in Unix syntax myself, 
but it looks like it didn't.  Different example:

$ dir $1$DUA1400:[RE_TOEDEL.DIR^.WITH^.DOTS]

Directory $1$DUA1400:[RE_TOEDEL.DIR^.WITH^.DOTS]

mymodule.pm;2

Total of 1 file.
$ show logi perl5lib
   "PERL5LIB" = "/$1$DUA1400/RE_TOEDEL/DIR^.WITH^.DOTS" (LNM$PROCESS_TABLE)

$ perl test.pl
Can't locate mymodule.pm in @INC (@INC contains: /$1$DUA1400/RE_TOEDEL/DIR^.WITH
^.DOTS perl_root:[lib.VMS_AXP.5_6_1] perl_root:[lib] perl_root:[lib.site_perl.VM
S_AXP] perl_root:[lib.site_perl] /perl_root/lib/site_perl .) at test.pl line 4.


> -----Original Message-----
> From: Craig A. Berry [mailto:[EMAIL PROTECTED]
> Sent: Friday, November 22, 2002 1:29 PM
> To: Carl Friedberg
> Cc: [EMAIL PROTECTED]
> Subject: Re: FW: Hoff on ODS-5 system disks and case issues
> 
> 
> Carl,
> 
> Thanks for the reference.  I am aware of the existence of the
> documentation that Hoff mentions and have some familiarity 
> with -- though not necessarily complete command of -- its 
> contents.  Acting on it is another matter entirely.  There 
> are a number of things that need to be done in Perl to catch 
> up with current CRTL capabilities and ODS-5 generally.
> 
> For starters, there is the way vmstar works on ODS-5 volumes.
>  By default, recent versions of it allow formerly illegal 
> characters in directory and file specs and escape them with 
> the caret (^) per ODS-5 guidelines.  So, for example, when 
> you unpack the Perl source tarball your top-level Perl 
> directory will be [.perl-5^.8^.0].  In order to even set 
> default to that you will need to have extended parse style 
> enabled (not to mention better than average facility with the 
> top row of the keyboard!), but extended parse causes the 
> build of the Encode extension to fail, no doubt due to some 
> conflicting assumptions about legal characters and/or case.  
> The Encode build needs to be fixed to work in all 
> combinations of disk structure level and parse style.
> 
> There is the -o | /ODS2 option available in vmstar to force
> legal ODS-2 names, and that will dodge the foregoing 
> problems.  However, it needlessly upcases the filespecs in 
> addition to translating illegal characters.  It would be nice 
> to have it preserve case but perform the other translations 
> like unzip does.
> 
> Those are all just issues that come up getting Perl to build.
>  There are many places in the test suite and even in some 
> core modules where filename case is assumed to be lower (and 
> even forced to be).  Each of these will need to be addressed 
> in a way that continues to work for ODS-2 but also handles 
> case properly for ODS-5.  In general, the basic assumption is 
> changing from "filename case is always lower" to "filename 
> case may be mixed and should be preserved where possible but 
> case preservation cannot be assumed or required."
> 
> We need to look into honoring DECC$xxx logical names,
> especially DECC$ARGV_PARSE_STYLE and DECC$EFS_xxx.  It would 
> be nice not to have to quote everything on the command line 
> and to preserve filename case when we can.
> 
> Perl's utime() implementation should handle the true access
> time field available on ODS-5 volumes rather than conflating 
> it with the modification time as is necessary on ODS-2.
> 
> We need to figure out if an ODS-5 volume with hard links
> enabled can support what symbolic links are expected to do in 
> Perl.  Then we need to be able to configure for it and have a 
> way to test for it on a per-volume basis and change all the 
> tests that assume VMS can't do it.
> 
> Using NAML rather than NAM blocks when parsing filespecs
> would allow us to handle paths longer than 255 characters.
> 
> There are lots of places in vms.c that do their own filespec
> parsing based on the traditional delimiters (<>[]:).  It's 
> entirely possible for legal ODS-5 filespecs to get parsed 
> incorrectly.  Not sure how to handle that.
> 
> OK, I've worn myself out just making the list, which I'm sure
> isn't even complete.  Anyone want to get to work?
> 
> At 1:09 PM -0500 11/20/02, Carl Friedberg wrote:
> >This note is on DecuServe (eisner.decus.org) from Hoff in
> response to
> >an issue I've encountered running an ODS-5 system disk on VMS 7-3.1
> >
> >Note his comments about CRTL documentation, please :-( :-) (it's the
> >good news and the bad news).
> >
> >Carl
> >
> >-----Original Message-----
> 
> <snipped>
> --
> ________________________________________
> Craig A. Berry
> mailto:[EMAIL PROTECTED]
> 
> "... getting out of a sonnet is much more
>  difficult than getting in."
>                  Brad Leithauser
> 

Reply via email to