#!/usr/bin/perl -w # # Here is a CGI example of using a regexp to parse a query string, # when you're not sure exactly what will be in the query string # Put it in you web space, and call it with # http://host/script?param_1=this¶m_2=that&the_other=doesntmatchthemask # or call it with ?error=HelloWebMaster if you want to fill the error log with garbage # use CGI qw( :standard :HTML ); # set slay typos use strict; # read in the CGI params my $object = new CGI(); # print our HTML header print header(),h1( "params: " ); my $key; # set our variable mask. This part gets thrown out. # At makeyourbanner.com, I use more than one pattern, # so that I can determine the number of text areas and style settings dynamically. # in CGI programming, this is very handy if you are designing a backend, # and don't have advanced knowledge of how the front end will call it. my $mask = "param_"; foreach $key ( $object->param() ) { if ( $key =~ /^($mask)(.+)/ ) { #found a parameter, print it out print "

param $2=", $object->param( $key ), "

"; } elsif ( $key =~ /error/i ) { #found error flag, print error to the appache logs (you ARE using apache, right?!) print STDERR "error: found $key=", $object->param( $key ), " in $0\n"; } }