1. Perl
  2. Version information
  3. here

The latest version of Perl, 5.16.0, has been released

The long-awaited latest version of Perl, Perl 5.16.0, was released on May 20, 2012.

[http://perl5.git.perl.org/perl.git/tag/refs/tags/v5.16.0:image=http://news.mynavi.jp/news/2011/03/02/009/images /001l.jpg]

First release of the v5.16 series!

This is the third release since the policy of releasing it once a year was decided. Perl has an image of active development among scripting languages. The Perl 5 logo is a dinosaur.

We have picked up new features and changes. Almost compatible with Unicode 6.1, added __SUB__, added debugger functions, changed the behavior of use VERSION, improved performance, and many bug fixes.

As a result, the Perl 5.12 series is no longer supported. Only critical security fixes will be made in the Perl 5.12 series.

Changes in Perl 5.16

New features

__SUB__

It is now possible to write __SUB__, which is similar to __FILE__ and __PACKAGE__. This is a feature that allows you to get a reference to the subroutine you are currently executing, making it easier to write recursive subroutine. It can be used in the state of use 5.16 or use feature 'current_sub'.

sub func {
  
  __SUB__->();
}

Add enable and disable in debugger

You can now enable and disable breakpoints.

Specify the file name in the breakpoint setting in the debugger

You can now specify the file name in addition to the line number with the b command (specify breakpoints).

b [file]: [line]

This may reduce the work of moving back and forth between files.

Many Perl keywords are now available in the CORE namespace

Until now, CORE was not actually a namespace, but it seems that CORE has become a namespace and can be treated in the same way as a normal namespace.

Core::tie

Providing a modified type map

Additional typemaps such as T_AVREF_REFCOUNT_FIXED are now provided. This is a story on XS.

HV * T_HVREF_REFCOUNT_FIXED

Almost compatible with Unicode 6.1

Almost compatible with Unicode 6.1. Please note that Unicode 6.0 and Unicode 6.1 are not fully compatible.

Speaking of Unicode6, it is characteristic that emoticons are included as characters. I wonder if it will be easier to create an application that sends emails from mobile phones.

Minor changes

use VERSION is now expected to work with that Perl version

The statement "use v5.16" is now expected to work with Perl 5.16.

use v5.16;

In other words, "use v5.14" expects Perl 5.14 to work, and "use v5.16" expects Perl 5.16 to work.

$[is no longer disabled under use v5.16.

$[Now is no longer valid under use v5.16.

Fixed a memory leak in a regular expression named capture

A memory leak in the following code has been fixed. This has been around since Perl 5.10.

    for (1..10_000_000) {
        if ("foo" =~ /(foo | (? <capture> bar))?/) {
            my $capture = $+ {capture}
        }
    }
    system "ps -o rss $$"'

I wonder if named capture is now available in the daemon process.

Deprecated

Unicode database files located in lib/unicore are no longer read. This is to make Perl's core smaller. Use the new Unicode::UCD function instead.

Deprecated modules

  • Version::Requirements

Version::Requirements has been deprecated. Use CPAN::Meta::Requirements.

Future deprecated modules

The following modules will be deprecated in the future. It will be removed after a while after being deprecated. However, it's still available on CPAN, so if you're using it, you'll have to spend more time installing it.

  • CPANPLUS
  • Filter::Simple
  • PerlIO::mmap
  • Pod::LaTeX
  • Pod::Parser
  • SelfLoader
  • Text::Soundex
  • Thread.pm

The core may get smaller little by little by removing unnecessary modules.

Removed modules and pragmas

The following modules have been removed from the core. It's on CPAN.

  • Devel::DProf
  • Shell

The following Perl4 format libraries have been removed.

abbrev.pl assert.pl bigfloat.pl bigint.pl bigrat.pl cacheout.pl complete.pl ctime.pl dotsh.pl exceptions.pl fastcwd.pl flush.pl getcwd.pl getopt.pl getopts.pl hostname.pl importenv.pl lib/find {, depth} .pl look.pl newgetopt.pl open2.pl open3.pl pwd.pl shellwords.pl stat.pl tainted.pl termcap.pl timelocal.pl

These are on CPAN's Perl4::CoreLibs.

Related Informatrion