ColtsFoot, UnderMine, and rdfield have all made good observations I missed. Have you looked into their suggestions?
That done, here are some debugging techniques.
- (Added) Pick an indenting style and use it religiously. perlstyle is good dogma if you want help with that.
- Turn on warnings with -w on the splatline or use warnings;
- Run the script from the command line, giving the cgi form parameters as name=value pairs on the command line.
- Once that works, redirect the html printed to a file and read that file with a browser. Check it for html compliance.
- When ready to try it on the server, temporarily add use CGI::Carp qw(fatalsToBrowser warningsToBrowser); right after use CGI;. With that you can see errors live without having to go to the server error log.
The key is to get the system to tell you what it thinks is wrong.
I meant to comment earlier that your code shows great promise. There are lots of little errors, but your use of the correct modules in proper ways is a good sign. You are trying to do the right things, and you do nothing useless or wrong headed.
After Compline, Zaxo | [reply] [d/l] [select] |
Thanks for the encouragement. I just starting learning Perl from scratching 2 weeks ago and it has been a reasonably steep learning curve! As you can see I replied to UnderMine and that is the current state of my script after trying all the suggestions. It is still not working but at least now I am getting an error message that I can work on which is preferable to a blank screen! Thanks for the further suggestions and coding tips. I already know that the html is fine though because I checked that out earlier by disregarding the form values and running a really simple query to see if the format of the output was as expected, and it was.
| [reply] |