in reply to Trouble getting a Perl script to run with an HTML form

First thing you do is step up to your teacher and tell them that not using CGI (or at least a skimmed down version such as CGI::Simple) is completely idiotic. As is currently, your perl script is trying to access the form data through the GET method. It looks as though you tried to get through POST but that wasn't working. Basically, you need to change read($_, ...) to read read(STDIN, ...), but don't do that. Use CGI::Simple. Anything else is just wrong.

Update: The fact that this may be the first or second assignment in a class did not occur to me :). If this teacher is anyone decent, then it is probably as hardburn stated: it is most likely so you can see where POST data is being received from. After you have learned this area, I'm sure the teacher will not be against using a well-tested module to do the job securely. A quick thanks to hardburn for the insight.


If the above content is missing any vital points or you feel that any of the information is misleading, incorrect or irrelevant, please feel free to downvote the post. At the same time, please reply to this node or /msg me to inform me as to what is wrong with the post, so that I may update the node to the best of my ability.

Replies are listed 'Best First'.
Re: Re: Trouble getting a Perl script to run with an HTML form
by hardburn (Abbot) on Oct 20, 2003 at 20:38 UTC

    I could understand if this was an assignment early on in the course's Perl section and the teacher wanted the students to at least learn how params are encoded. Hopefully, after the first few assignments, the teacher will say something along the lines of "anybody who parses CGI params by hand in an assignment from now on will get marked down one letter grade". Though I have an odd feeling that this won't happen.

    ----
    I wanted to explore how Perl's closures can be manipulated, and ended up creating an object system by accident.
    -- Schemer

    :(){ :|:&};:

    Note: All code is untested, unless otherwise stated