This and other RFCs are available on the web at
http://dev.perl.org/rfc/
=head1 TITLE
First-Class CGI Support
=head1 VERSION
Maintainer: Adam Turoff <[EMAIL PROTECTED]>
Date: 24 Sep 2000
Mailing List: [EMAIL PROTECTED]
Number: 288
Version: 1
Status: Developing
=head1 ABSTRACT
Perl is frequently used in CGI environments. It should be as easy to write
CGI programs with perl as it is to write commandline text filters.
=head1 DESCRIPTION
Tom Christiansen proposed this in his perl6storm message:
=item perl6storm #0025
Make -T the default when operating in a CGI env. That is, taintmode.
Will this kill us? Close to it. Tough. Insecurity through idiocy
is a problem. Make them *add* a switch to make it insecure, like
-U, if that's what they mean, to disable tainting instead.
and this:
=item perl6storm #0026
Make CGI programming easier. Make as first class as
@ARGV and %ENV for CLI progging.
Perl6 should be *easier* to write CGI programs than Perl5. One way to
accomplish this is to add a C<-cgi> option to Perl, so that all of the
mechanical setup is done automatically. That setup could also be done
through a C<use cgi;> pragma.
To make CGI programming easier, this option/pragma should:
=over 4
=item *
Turn on tainting
=item *
Parse the CGI context, returning CGI variables into %CGI
=item *
Offer simple functions to set HTTP headers (e.g. content type, result codes)
=item *
Load quickly
=item *
Not take up gobs of memory
=back
All of the other features offered by Lincoln Stein's CGI.pm should remain,
but should not be deeply integrated into Perl6.
=head1 IMPLEMENTATION
Write a very small cgi.pm module that does as little as possible, probably
based on Lincoln's code.
Add a C<-cgi> commandline switch, and/or turn on tainting through a
C<use cgi> pragma.
=head1 REFERENCES
CGI.pm
perl6storm