Craig A. Berry wrote:
At 12:51 PM -0700 3/3/06, Mark Berryman wrote:

On a related note (since I'm going to have to change code anyway): does any one 
know why the logical DECC$FILENAME_UNIX_ONLY impacts the -e switch?  As in:
$
$ DEFINE DECC$FILENAME_UNIX_ONLY FALSE
$ perl -e "print 1;"
1
$ DEFINE DECC$FILENAME_UNIX_ONLY TRUE
%DCL-I-SUPERSEDE, previous value of DECC$FILENAME_UNIX_ONLY has been superseded
$ perl -e "print 1;"
Can't open perl script "-e": no such file or directory
%RMS-E-FNF, file not found

With Perl 5.8.6, the null device on OpenVMS is coded as NLA0:.

When that and later versions of Perl are processing a "-e" line on the command, they try to open the NULL device. If they fail, Perl prints out the message that you see instead of pointing out it could not open the NULL device.

If you rebuild Perl 5.8.6 to use /dev/null as the null device you will get past that point.

However even the variant perls that I am playing with are not able to handle DECC$FILENAME_UNIX_ONLY yet, and probably will not for a while.

Too much of perl is using VMS file specifications internally to C runtime functions, and not just in VMS.C. I Doubt that anyone soon is going to get all those cases fixed.

My guess would be we're doing a syntax-only parse and considering it
a switch rather than a file when the parse fails.

Nope.

I supposed no one tested the case where Perl was unable to open the NULL device, so no one noticed the error message was misleading.

-John
[EMAIL PROTECTED]
Personal Opinion Only

Reply via email to