develooper Front page | perl.perl5.porters | Postings from May 2013

Re: RFC: Removing CGI.pm from the core distribution

Thread Previous | Thread Next
From:
Nicholas Clark
Date:
May 24, 2013 09:25
Subject:
Re: RFC: Removing CGI.pm from the core distribution
Message ID:
20130524092510.GQ3729@plum.flirble.org
On Fri, May 24, 2013 at 12:06:49PM +0300, Alexandr Ciornii wrote:
> Hello
> 
> 2013/5/24 Ricardo Signes <perl.p5p@rjbs.manxome.org>:
> >
> > I think it's time to seriously consider removing CGI.pm from the core
> > distribution.  It is no longer what I'd point *anyone* at for writing *any*
> > sort of web code.  It is in the core, as far as I know, because once it was the
> > state of the art, and a major reason for many people to use the language.  I
> > don't think either is true now.
> 
> Many people still use programs that use CGI.pm, for ex. from NMS
> collection. And CGI.pm is easiest to start with.

I'm aware of NMS, and that it was deliberately targeting CGI.pm to promote
modules, code re-use, and not screwing up security related issues things
like parameter parsing.

Presumably every web framework out there is having to deal with form
parameters and URI escaping/unescaping. And avoid making goofs. And deal
with changes like ';' instead of '&'.

Is there something small which just does this?
Should the core be providing such foundation functionality?
(Although then you get to HTML entities, which starts to get big?)

> >  Finally, if you need CGI, it's easy to install
> > after installing perl, just like everything else we've dropped from the core
> > distribution.
> 
> It would not be easy to do on web hosting which does not has
> possibility of installing modules from CPAN. Also currently CGI.pm
> requires FCGI which requires compiler which frequently is not
> installed.

Yes, this is strange. The core merrily ships CGI.pm without FCGI, yet the
CPAN version of CGI.pm insists that FCGI is a hard dependency. Clearly the
dependency can't be a hard dependency, else the version shipped by the core
wouldn't work.

And, as you say, the dependency makes it hard to install (or upgrade) CGI.pm
on a system without a compiler.

What stops CGI.pm making FCGI optional? Or splitting out the FCGI support
into a separate distribution?

> > In the past two years, all my interactions with CGI.pm have been to fix bugs or
> > send pull requests to quiet it from making noise in the core.  I expect others
> > here have had the same experience.
> 
> I use CGI::Applications (mostly for old programs), it uses CGI.pm.
> Also if I need a very simple web program, I use CGI.pm directly.

But you have to install CGI::Applications from CPAN. So it shouldn't be
any harder to install CGI.pm and CGI::Applications from CPAN.

Nicholas Clark

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About