Eric Roode on Wed, 15 May 2002 13:34:15 -0400


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Error message


This is an extremely poorly-written script.

>From the script:
> if ($ENV{'REQUEST_METHOD'} eq 'GET') {
>     @pairs = split(/&/, $ENV{'QUERY_STRING'});
> }
> elsif ($ENV{'REQUEST_METHOD'} eq 'POST') {
...

Never attempt to parse CGI parameters yourself. That's what CGI.pm is
there for.  The above code, for example, doesn't handle semicolon-
separated CGI parameters (which is the w3c recommendation).

>From the script:
> if ($useheader) {
> &header;
> }

Use of & to invoke functions is bad form. Has undesirable side
effects. Possibly the author does not know this. Or, possibly, this
script has been around since & was required in perl 4.

>From the script:
> # Open the Mail Program
> open(Mail,"|$mailprog -f formbot\@yourwebsite.cmo -t");

I can't help but notice that the variable $mailprog is never defined.
Ain't no mail gonna be sent by _this_ script.


Andre: You'd be much better served by ditcing this crappy freebie
script, learning a bit more Perl, and writing your own, using standard 
modules such as CGI.pm and Mail::Mailer.pm. Really. This script is a
nest of bugs.

----------------------------------------------------------------------
Eric J. Roode                                            eric@myxa.com
Senior Software Engineer, Myxa Corporation
$_{"@{[sort/./g]}"}.=$_ for sort<>;$_[s/
(.)/ $1/g].=$_ for sort%_;print@_[1..99]
**Majordomo list services provided by PANIX <URL:http://www.panix.com>**
**To Unsubscribe, send "unsubscribe phl" to majordomo@lists.pm.org**


  • References: