RFC 288 (v1) First-Class CGI Support
[email protected] (Perl6 RFC Librarian) 25 Sep 2000 06:01:57 -0000
| Newsgroups | perl.perl6.announce.rfc,perl.perl6.language |
|---|---|
| Message-ID | <[email protected]> |
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