You check if the file named by the value of $datafile is writable, then you try to open the file named $datafile which doesn't exist. Get rid of those quotes!
By the way, if you declared $x and $y where you actually gave them a value, you wouldn't be trying to print out variables you haven't initialized.
#!/usr/bin/perl -w use strict; use warnings; use lib "/usr/local/lib/perl/lib/perl5/site_perl/5.8.8"; use CGI::Carp qw(warningsToBrowser fatalsToBrowser); use CGI qw(:standard); print header; my $datafile = "/full/path/to/file/data.txt"; system('perl', '/full/path/to/file.cgi')==0 or die "system failed $?/$!"; open(my $fh, '<', $datafile) or die "Can't open file $datafile: $!\n"; chomp( my $x = <$fh> ); chomp( my $y = <$fh> ); print "$x<br>\n"; print "$y<br>\n";
In reply to Re: File exists when confirmed in script but not when open is attempted by same script
by ikegami
in thread File exists when confirmed in script but not when open is attempted by same script
by greymoose
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |