Dan Sugalski ([EMAIL PROTECTED]) wrote:
>Jerome LAURET wrote:
>Now if I do
>$ perl -e "use CGI;" ! Some scripts uses this
>I get
>Fatal VMS error (status=100052) at PERL_ROOT:[000000]VMS.C;1, line 3700 at
>/perl_root/lib/CGI.pm line 2735.
>BEGIN failed--compilation aborted at -e line 1.
...
> >but the CGI.pm says
> >on that line :
> > do {$TMPDIRECTORY = $_; last} if -d $_ && -w _;
> >
> >the returned directory is \usr\tmp\var\tmp\tmp (??) and
> >individual test -e/-w would be a success on such directory.
> >
> >Any idea of what's going on and/or how to patch it ?
>
> Try editing line 95 and change this:
> VMS=>'\\'
> to this:
> VMS=>'/'
> and see if it works better. Also, do you have a TMP, TEMP,
> VAR, or USR logical? And does this maybe have its home on an ODS-5 disk?
All the trouble happens in a loop where CGI.pm tries to find a suitable
scratch directory for uploaded files. As the preset possibilities are
slightly *ix-centris, this also fails on WinNT. The work-arounds the code
suggest would be:
- define (in VMS) the logical TMPDIR.
This ENV variable gets unshifted into the list.
- set $TempFile::TMPDIRECTORY before use'ing CGI
That way, the whole searching doesn't take place.
cu,
Martin
--
| Martin Vorlaender VMS & WNT programmer
OpenVMS is today | work: [EMAIL PROTECTED]
what Microsoft wants | http://www.pdv-systeme.de/users/martinv/
Windows NT 8.0 to be! | home: [EMAIL PROTECTED]