Try including both $! and $^E in the or die clause and see what that shows. If you manually create an empty file with the name the perl script will use, does that make it's open work? | [reply] |
I tried to create a empty file before, and that didn't work. What does $^E do?
| [reply] |
From perlvar:
$EXTENDED_OS_ERROR
$^E
Error information specific to the current operating system. At the moment, this differs from $! under only VMS, OS/2, and Win32 (and for MacPerl). On all other platforms, $^E is always just the same as $!.
Under Win32, $^E always returns the last error information reported by the Win32 call GetLastError() which describes the last error from within the Win32 API. Most Win32-specific code will report errors via $^E. ANSI C and Unix-like calls set errno and so most portable Perl code will report errors via $!.
| [reply] |
Sorry I'm wrong ..... I tried again to create the file in advance ..... and it works this time when I do that. So the take home point from this discussion is that when using ">" to create or use a file on a shared Network, within a MS environment, then the file will not be created in the event of it being absent. Perhaps this is something that the Perl developers need to look at.
| [reply] |