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]

Reply via email to