Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

I simply want to execute a script thusly:

<a href="http://www.blah.com/cgi-bin/script.pl?field1=val1&field2=val2">Continue</a>

from a html file and then have script.pl read in the passed parameters for processing.
How do I read them in? I will give myself a hundred lashes for asking this question.

Jeff P.

Replies are listed 'Best First'.
(Ovid) Re: Pathetic Question
by Ovid (Cardinal) on Jul 26, 2001 at 01:04 UTC

    There are few, if any, pathetic questions (that's a reference to the original title, just in case someone changed it). Here's a short and terribly incomplete answer to your question:

    #!/usr/bin/perl -wT use strict; use CGI qw/:standard/; # grab the data my $tainted_field1 = param( 'field1' ) || ''; my $tainted_field2 = param( 'field2' ) || ''; # untaint the data my ( $field1 ) = ( $tainted_field1 =~ /^([\w\s]+)$/ ); my ( $field2 ) = ( $tainted_field2 =~ /^([\w\s]+)$/ ); # do as you will...

    I realize that much of what I wrote probably looks like line noise. Here's a stripped down (but less secure) version to give you the basics:

    #!/usr/bin/perl -w use strict; use CGI qw/:standard/; my $field1 = param( 'field1' ); my $field2 = param( 'field2' );

    I realize that the second version seems a bit easier to use, but it does have some problems. See perlsec for details. I also have an online CGI course that I am writing and it can fill you in on a lot of background. Unfortunately, the section that you will most want (Lesson Four, part two) has not yet been written due to excessive 12 hour work days on my part :)

    Cheers,
    Ovid

    Vote for paco!

    Join the Perlmonks Setiathome Group or just click on the the link and check out our stats.

Re: Pathetic Question
by dragonchild (Archbishop) on Jul 26, 2001 at 00:28 UTC
    Check out CGI. That does everything you want. It also has an extremely extensive perldoc. (Printed out, it's over 50 pages long, and quite wonderful.)
Re: Pathetic Question
by wardk (Deacon) on Jul 26, 2001 at 01:54 UTC

    this is a starter script for you, but you really should become one with the CGI module documentation (put CGI in the search field up there to the left) :-)

    perldoc CGI <enter>

    #!/usr/bin/perl $|++; use strict; use CGI qw/:standard/; my $field1 = param('field1'); my $field2 = param('field2'); # do something ...