in reply to Re^2: sysopen function call
in thread sysopen function call

If it is running as a CGI app, but not doing what it should, then it is a permission problem between the user your web server runs your application as and the user you use to test from the command line. Maybe your system is using SELinux or something else that interferes, or your webserver is running in a chroot jail.

open should work for you in your use case, but you don't show any code so it's hard to tell where it fails to do so for you.

Replies are listed 'Best First'.
Re^4: sysopen function call
by rpike (Scribe) on Sep 08, 2010 at 14:24 UTC
    That's about it.
    use List::Util; sysopen (my $logHdl, "C:/directory1/directory2/directory3/logs/LOGFILE +.txt", O_RDWR | O_CREAT) or die "Content-type: text/html\n\nCannot op +en file for writing. ".$!;
    The only code I'm trying out is a sysopen line as you can see. The web user has full permissions needed, first thing I checked. The code actually fails from command line as well so both users are in the same boat.
      Is that really all of your code? Did you use Fcntl; as alluded to by the docs for sysopen? If you don't load the proper constants, the O_CREAT flag does you no good, and you can't open the nonexistent file. This would be the expected behavior for trying to open a non-existent file without the O_CREAT flag.