Use of uninitialized value in pattern match (m//) at ....
####
my $_name = param('name');
my ($name) = $_name =~ /^([[:alpha:]]+)$/ if defined $_name;
my $_color = param('color');
my ($color) = $_color =~ /^([[:alpha:]]+)$/ if defined $_color;
my $_otherReqParam = param('otherReqParam');
my ($otherReqParam) = $_otherReqParam =~ /^([[:alpha:]]+)$/ if defined $_otherReqParam;
# ... and so on for all the other params, and then
print 'location: http:/www.somesite.com/error.htm', $/, $/
unless defined $name
and defined $color
and defined $otherReqParameter;
....
####
my ($name) = (param('name') ||'') =~ /^([[:alpha:][:punct:][:space:]]+)$/;
my ($color) = (param('color') ||'') =~ /^([[:alpha:]]+)$/;
my ($otherReqParam) = (param('otherReqParam')||'') =~ /^([[:alpha:]]+)$/;
#deal with all other params in a similar fashion.
print 'location: http:/www.somesite.com/error.htm', $/, $/
unless defined $name
and defined $color
and defined $otherReqParam;
# If we got here we have everything we need, untainted.
...