Stories
Slash Boxes
Comments

SoylentNews is people

SoylentNews is powered by your submissions, so send in your scoop. Only 15 submissions in the queue.
posted by martyb on Saturday December 26 2015, @12:11PM   Printer-friendly
from the end-of-lifing-software-is-hard dept.

CGI.pm has been removed from the core Perl distribution. From 5.22, it is no longer included in a standard Perl installation.

There are good technical reasons for this. CGI is a dying technology. In 2015, there are far better ways to write web applications in Perl. We don't want to be seen to encourage the use of a technology which no-one should be using.

This does lead to a small problem for us though. There are plenty of web hosting providers out there who don't have particularly strong Perl support. They will advertise that they support Perl, but that's just because they know that Perl comes as a standard part of the operating system that they run on their servers. They won't do anything to change their installation in any way. Neither you nor I would use a hosting company that works like that – but plenty of people do.

The problem comes when these companies start to deploy an operating system that includes Perl 5.22. All of a sudden, those companies will stop including CGI.pm on their servers. And while we don't want to encourage people to use CGI.pm (or, indeed, the CGI protocol itself) we need to accept that there are thousands of sites out there that have been happily using software based on CGI.pm for years and the owners of these sites will at some point change hosting providers or upgrade their service plan and end up on a server that has Perl 5.22 and doesn't have CGI.pm. And their software will break.


What say you, fellow Soylents? How would you suggest "end-of-life"ing CGI.bin?

Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 2) by HiThere on Saturday December 26 2015, @08:26PM

    by HiThere (866) Subscriber Badge on Saturday December 26 2015, @08:26PM (#281269) Journal

    That's not the use case for Perl. Awk would be closer, but is missing many of Perl's features. Perhaps you could do it in bash, but that would limit your coverage to Linux. Perhaps Ruby is the closest replacement, but that, also, is designed for a much different use case.

    It's hard to think of any single language that could well replace what Perl does. A mix of shell scripting and Ruby would pretty much cover it, though, using shell scripting for part of the job and Ruby for the rest. (Of course some people just use one tool for every job...and many languages are flexible enough that it can be coerced into working with enough effort.)

    --
    Javascript is what you use to allow unknown third parties to run software you have no idea about on your computer.
    Starting Score:    1  point
    Karma-Bonus Modifier   +1  

    Total Score:   2  
  • (Score: 0) by Anonymous Coward on Saturday December 26 2015, @09:05PM

    by Anonymous Coward on Saturday December 26 2015, @09:05PM (#281276)

    It's hard to think of any single language that could well replace what Perl does.

    What does Perl do? Be bloated and horrible? No worries, systemd's got you covered.

    Of course some people just use one tool for every job...

    I wonder if those people try to apply that in the real world as well. It's gonna be funny to see them try to build a house with nothing but a Swiss Army knife.

  • (Score: 3, Funny) by Post-Nihilist on Saturday December 26 2015, @10:24PM

    by Post-Nihilist (5672) on Saturday December 26 2015, @10:24PM (#281297)

    You seems to be right
    according to http://langref.org/all-languages/pattern-matching/searching/check-if-a-string-contains-a-match-to-a-regular-expression [langref.org] :
    ruby
     

    puts "ok" if ("abc 123 @#\$" =~ /\d+/)

    perl
     

    print "ok" if ("abc 123 @#\$" =~ m/\d+/)

    groovy
     

    if ('abc 123 @#$' =~ /\d+/) println 'ok'

    python
     

    found = re.search(r'\d+', 'abc 123 @#$')
    if found:
       print 'ok'

    --
    Be like us, be different, be a nihilist!!!
  • (Score: 2, Informative) by requerdanos on Sunday December 27 2015, @07:03AM

    by requerdanos (5997) Subscriber Badge on Sunday December 27 2015, @07:03AM (#281393) Journal

    Perhaps you could do it in bash, but that would limit your coverage to Linux.

    Other advantages and disadvantages aside, I don't think that bash is limited to Linux [stackoverflow.com]...