I am just trying to set up calendar to run locally on an Abyss web server on XP Home/Firefox.
I believe I have installed everything needed correctly, but admit to be groping in the dark somewhat as I haven't set up anything using cgi scripts before.
The Calendar script debugger reports no errors, but I get the following error in the cgi.log when I run calendar_admin.pl and calendar.pl. Abyss reports error 500
===***=== CGI Log file
Bareword found where operator expected at calendar_admin.pl line 18, near "if (defined $main::Session && ref($main::Session) eq "CGISession"
(Might be a runaway multi-line "" string starting on line 13)
(Do you need to predeclare if?)
String found where operator expected at calendar_admin.pl line 22, near "if ($BASE_DIR ne ""
(Might be a runaway multi-line "" string starting on line 18)
(Missing semicolon on previous line?)
String found where operator expected at calendar_admin.pl line 26, near "print ""
(Might be a runaway multi-line "" string starting on line 22)
(Missing semicolon on previous line?)
syntax error at calendar_admin.pl line 18, near "if (defined $main::Session && ref($main::Session) eq "CGISession"
BEGIN not safe after errors--compilation aborted at calendar_admin.pl line 22.
CGI: [C:\Perl\bin\perl.exe calendar_admin.pl ] URI: /calendar/calendar_admin.pl Broken pipe
===***=== end of log file
The following is the first section of code from the calendar_admin.pl script. I have changed the path to the calendar script file manually
===***=== Calendar_admin.pl file
#!C:\Perl\bin\perl.exe
#
# CalendarScript
# Version: 3.21
#
# Copyright 2003 Scott
# http://www.CalendarScript.com/
#
BEGIN {
# CHANGE THE LINE BELOW IF NECESSARY
# Be sure to remove the # before $BASE_DIR, and change the path between the quotes
$BASE_DIR = "C:\Program Files\Abyss Web Server\htdocs\Calendar\";
# DO NOT CHANGE ANYTHING BELOW HERE!
sub exitGracefully() {
if (defined $main::Session && ref($main::Session) eq "CGISession") { $main::Session->saveSession(); }
exit(0);
}
if ($BASE_DIR ne "") { $BASE_DIR =~ s|([^/])$|$1/|; }
else {
my ($path) = $ENV{'PATH_TRANSLATED'} | | $ENV{'SCRIPT_FILENAME'};
unless ($path) {
print "Content-type:text/html\n\n<B>ERROR:</B><BR>Your server does not provide the PATH_TRANSLATED or SCRIPT_FILENAME environment variables.<br><br>Please see the installation documentation for how to set the \$BASE_DIR variable manually.";
&exitGracefully();
}
$path =~ s|[^/\\]*$| |;
$path =~ s|\\|/|g;
$path =~ s|/+|/|g;
$path =~ s|([^/])$|$1/|;
$BASE_DIR = $path . "calendarscript/";
}
unshift(@INC,$BASE_DIR."lib");
unshift(@INC,$BASE_DIR."plugins");
===***=== eof
Any ideas and help gratefully received, and thanks in advance