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

Reply via email to