Language Selection

English French German Italian Portuguese Spanish

What happened to Perl 7? | Perl Steering Council

Filed under
Development

With Perl 5.36.0 just around the corner, we thought that this is a good time to clarify plans for the future of the Perl programming language. We realised that the future was hammered out in a number of steps, across several months. This meant that there hasn't been a single statement we could refer people to. This post is to fill that gap.

Two years ago Perl 7 was announced. A key idea for Perl 7 was to significantly reduce the boilerplate needed at the top of your code, by enabling a lot of widely used modules / pragmas, but this would have come at the price of breaking some backwards compatibility. This would have meant that some existing code wouldn't have worked without modification.

This prompted a lot of heated discussions: some thought this was a great idea, and some thought it a terrible idea to throw away one of Perl's key strengths. Ultimately this led to a discussion about who had the right to make this decision, now that Larry is no longer involved in Perl (and hasn't been for about 20 years). The end result of all those discussions was a new governance structure.

Read more

Alternate URL

  • What happened to Perl 7?

    Two years ago Perl 7 was announced. A key idea for Perl 7 was to significantly reduce the boilerplate needed at the top of your code, by enabling a lot of widely used modules / pragmas, but this would have come at the price of breaking some backwards compatibility. This would have meant that some existing code wouldn't have worked without modification.

Stable release too

  • Perl 5.36.0 released [LWN.net]

    Version 5.36.0 of the Perl language is out. "Perl 5.36.0 represents approximately a year of development since Perl 5.34.0 and contains approximately 250,000 lines of changes across 2,000 files from 82 authors." Changes include the enabling of function signatures, Unicode 14.0 support, experimental iteration over multiple values, and a lot more; see the release notes for the full list.

Perl Steering Council lays out a backwards compatible future

  • Perl Steering Council lays out a backwards compatible future for Perl 7

    The much-anticipated Perl 7 continues to twinkle in the distance although the final release of 5.36.0 is "just around the corner", according to the Perl Steering Council.

    Well into its fourth decade, the fortunes of Perl have ebbed and flowed over the years. Things came to a head last year, with the departure of former "pumpking" Sawyer X, following what he described as community "hostility."

    Part of the issue stemmed from the planned version 7 release, a key element of which, according to a post by the steering council "was to significantly reduce the boilerplate needed at the top of your code, by enabling a lot of widely used modules / pragmas."

    It all sounds wonderful, but the price would have been the breaking of some backwards compatibility, meaning that some code targeting earlier versions of the programming language would have needed changing.

    "This prompted a lot of heated discussions," said the council. "Some thought this was a great idea, and some thought it a terrible idea to throw away one of Perl's key strengths."

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

More in Tux Machines

9 Top Free and Open Source Elixir Web Frameworks

One of the types of software that’s important for a web developer is the web framework. A framework “is a code library that makes a developer’s life easier when building reliable, scalable, and maintainable web applications” by providing reusable code or extensions for common operations. By saving development time, developers can concentrate on application logic rather than mundane elements. A web framework offers the developer a choice about how to solve a specific problem. By using a framework, a developer lets the framework control portions of their application. While it’s perfectly possible to code a web application without using a framework, it’s more practical to use one. Read more

Games: Valve, Kingdoms and Castles, and a Lot More

today's howtos

  • How to Install and Configure HAProxy on Ubuntu 22.04

    In this post, we will demonstrate how to install HAProxy on Ubuntu 22.04 (Jammy Jellyfish) step by step. We will later configure it to act as a load balancer by distributing incoming requests between two web servers.

    HaProxy, short for High Availability Proxy, is a free and open-source HTTP load balancer and reverse-proxy solution that is widely used to provide high availability to web applications and guarantee maximum possible uptime.

  • How to use DNF Software Package Manager with Examples - TREND OCEANS

    The dandified yum (DNF) command is the next-generation version of the YUM package manager for Fedora, CentOS, AlmaLinux, and other RHEL-based distributions. This command was first implemented after the Fedora 22, CentOS 8, and RHEL 8 release. The launch was to remove the bottleneck involved in the YUM command.

  • How to Install FFmpeg on CentOS 9 Stream

    FFmpeg is the leading free, open-source multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter, and play nearly all multimedia files that have been created on any platform. FFmpeg compiles and runs on Linux, Mac OS X, Microsoft Windows, BSD systems, and Solaris. The following tutorial will teach you how to install FFmpeg on CentOS 9 Stream using the RPM Fusion free repository command line terminal.

  • How to Install ClamAV on Arch Linux

    ClamAV is an open-source and free antivirus toolkit that detects many types of malicious software, including viruses, trojans, malware, adware, rootkits, and other malicious threats. One of its primary uses of ClamAV is on mail servers as a server-side email virus scanner or file hosting servers to periodically scan to ensure files are clean, especially if the public can upload to the server. ClamAV supports multiple file formats (documents, executables, or archives), utilizes multi-thread scanner features, and receives updates for its signature database daily to sometimes numerous times per day for the latest protection. The following tutorial will teach you how to configure ClamAV on Arch Linux desktop or server and some basic scan commands using the command line terminal.

  • Linux su vs sudo: what's the difference? | Opensource.com

    Both the su and the sudo commands allow users to perform system administration tasks that are not permitted for non-privileged users—that is, everyone but the root user. Some people prefer the sudo command: For example, Seth Kenlon recently published "5 reasons to use sudo on Linux", in which he extols its many virtues. I, on the other hand, am partial to the su command and prefer it to sudo for most of the system administration work I do. In this article, I compare the two commands and explain why I prefer su over sudo but still use both.

today's howtos

  • A Detailed Guide on How to Work with Documents in Nextcloud

    Nextcloud is an open-source content collaboration platform that makes it possible to create secure file storage with sharing and synchronization features. It’s not too much to say that Nextcloud is an ideal solution for file management, as this platform allows you to share files and folders on your computer, and instantly synchronize them with your Nextcloud server.

  • How to Reset Forgotten Root Password in Fedora

    The only way any Linux user can boldly claim to have full control of their operating system environment is if they can be identified as root or Sudoer users.

  • How to Change the Default Interface in Linux?

    “Almost everything productive we can do in Linux requires us to have a network connection. Whether developing apps, installing software, scripting, sharing files, or even watching movies, we need a working network connection. Hence, “I require a network connection” is simply an understatement. The only way to enable network connection on a machine is through a network interface. A network interface is a device or a point of connection between a device and a private or public network. In most cases, a network interface is a physical card such as a wireless adapter, a network card, etc. However, this does not necessarily mean that a network interface should be a physical device. For example, a loopback adapter that is not physically visible is implemented by software and available on all devices.” This quick tutorial will show you how to set the default interface in Linux.

  • CoreOS in VirtualBox

    Three Fedora CoreOS (FCOS) update streams are available: stable, testing, and next. In general, you will want to use stable, but it is recommended to run some machines on testing and next and provide feedback. Each stream has a canonical URL representing its current state in JSON format, known as “stream metadata.” For example, the stream metadata URL for stable is: https://builds.coreos.fedoraproject.org/streams/stable.json For automating Fedora CoreOS installations, it is expected that you will interact with stream metadata. While Fedora CoreOS does automatic in-place updates, it is generally a good practice to start provisioning new machines from the latest images.