Hi! I am trying to test a quest book with perl script. When I fill in the form in the netscape browser and press submit, the quid pro quo 1.0.2 server reports "An error occurred while processing your request. An unspecified internal server error occured." I am unable to understand the problem. Does qpq 1.0.2 support perl program? Or the program is unable to find the file for processing? Can someone please help? I may be excused for skipping the comments. Thanks Amitava here is the program code: <html> <head> <title>Guest Book</title> <body> <center> <h1 align="CENTER">Guest Book</h1> <hr> <FORM ACTION="/LC1/quid pro quo f/rootfolder/addguest.pl" METHOD="POST"> <TABLE WIDTH = "50%"> <TR> <TD><STRONG>First Name</STRONG></TD><TD><STRONG>Last Name</STRONG></TD> </TR> <TR> <TD><INPUT TYPE = "text" NAME= "first_name" SIZE="20" MAXLENGTH="30"></TD> <TD><INPUT TYPE = "text" NAME= "last_name" SIZE="20" MAXLENGTH="30"></TD> </TR> </TABLE> <TABLE WIDTH = "50%"> <TR> <TD><STRONG>City</STRONG></TD><TD><STRONG>State</STRONG></TD> </TR> <TR> <TD><INPUT TYPE = "text" NAME= "city" SIZE="20" MAXLENGTH="30"></TD> <TD><INPUT TYPE = "text" NAME= "state" SIZE="20" MAXLENGTH="30"></TD> </TR> </TABLE> <TABLE WIDTH = "50%"> <TR> <TD><STRONG>Country</STRONG></TD><TD><STRONG>Email Address</STRONG></TD> </TR> <TR> <TD><INPUT TYPE = "text" NAME= "country" SIZE="20" MAXLENGTH="30"></TD> <TD><INPUT TYPE = "text" NAME= "email" SIZE="20" MAXLENGTH="74"></TD> </TR> </TABLE> <STRONG>Comments</STRONG><BR> <TEXTAREA NAME="comments" COLS="50" ROWS="6" WRAP="VIRTUAL"></TEXTAREA> <BR> <P> <INPUT TYPE="submit" VALUE="Add Your Name"> <INPUT TYPE="reset" VALUE="Clear Form"> <P> </form> </center> </body> </html> code for adding guest book entry: #!/usr/bin/perl require ("perl-cgi/guestbook.pm") || die ("Can't find GuestBook header file"); read(STDIN, $postinfo, $ENV{'CONTENT_LENGTH'}); @InfoArray=split (/&/, $post_info); for ($n=0; @InfoArray [$n]; $n++) { ($dummy,$temp) = split (/=/, @InfoArray [$n]); $temp=~tr/+//; $temp=~s/%([\dA-Fa-f][\dA-Fa-f])/pack("C", hex ($1))/eg; @InfoArray [$n] = $temp; } if((length(@InfoArray[$FirstNameIndex]) !=0) || (length(@InfoArray[$LastNameIndex]) !=0)) { $time=time(); @InfoArray [$NumEntryTime] = $time; $GuestEntry=pack($GuestEntryStruct, @InfoArray); open(GUEST_LOG, ">>$GuestBookPath") || die "Can't open guest book: $!"; print GUEST_LOG $GuestEntry; close (GUEST_LOG) } &HTML_Header ("All done"); print "<BODY>\n"; print "<CENTER>\n"; print "<H1>Thanks for taking the time to sign our guest book</H1>\n"; print "<HR>\n"; print "Click <A HREF=guestbook.pl\">Here</A>"; print "to view our Guest Book<BR>\n"; Code for displaying Guest Book entry: #!/usr/bin/perl require ("perl-cgi/guestbook.pm") || die ("Die can't find Guest Book header file: $!\n"); $Title="Guest Book Entries"; open (GUEST_LOG, $GuestBookPath) || die "Can't open guest book: $!"; &HTML_Header($Title); print"<BODY>\n"; print"<H1 ALIGN=\"CENTER\">$Title</H1>\n"; print "<HR>\n"; while (read (GUEST_LOG,$buffer,$GuestEntrySize)) { @InfoArray = unpack ($GuestEntryStruct,$buffer); for ($n=0; $n < ($NumElements -1); $n ++) { $InfoArray [$n] =~s/\0//g; ($FirstName,$LastName,$City,$State,$Country,$Email,$Comments,$NumAccessTime)=@InfoArray; print"<STRONG>Name:</STRONG><BR>\n"; printf ("%s %s<BR>\n", $FirstName,$LastName); print"<STRONG>E-mail Address:</STRONG><BR>\n"; print $Email, "<BR>\n"; print "<STRONG>From:</STRONG><BR>\n"; print $City, ""; $State, '', $Country, "<BR>\n"; print "<STRONG>On:</STRONG><BR>\n"; ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime ($NumAccessTime); print "$WeekDay [$wday, $Month[$mon] $mday, ", $year +2000; print " at $hour:"; if ($min < 10){ print "0"; } print "$min:"; if ($sec < 10){ print "0"; } print "$sec <BR>\n"; print "<STRONG>COMMENTS:</STRONG><BR>\n"; print "<HR>\n"; } close (GUEST_LOG); } # ===== Want to unsubscribe from this list? # ===== Send mail with body "unsubscribe" to macperl-request@macperl.org