The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

kurila13delta - what is new for Perl Kurila 1.3

DESCRIPTION

This document describes differences between Perl Kurila 0.2 and Perl Kurila 1.3

Highlights In Perl Kurila 1.3

Perl Kurila 1.3 tries to reduce some ambiguities in Perl code, and to simplify the perl internals. Some uncommon and error prone options have been removed. More specific:

  • Dereference of a string will always give an error, even when not "use strict 'refs'"

  • The <> operator no longer supports glob patterns, use glob() for that

  • Method resolution changed to default C3

  • "use strict 'subs'" is default on

  • Typed declarations (like my Animal $dog) are no longer possible

  • Integrate bleadperl changes

Core Enhancements

Dereference of a string will always give an error

Usage of a string to lookup a symbol, like ${"$class\::VERSION"} will always give an error, regardless of "use strict 'refs'". You can use Symbol::fetch_glob to do a symbol lookup. Symbol::fetch_glob returns a reference to a glob, thus to use the glob you need to explicitly dereference it. For example to get the above ${"$class\::VERSION"} you need ${*{Symbol::fetch_glob("$class\::VERSION")}} Symbol::fetch_glob is defined in the Perl core and does not require a use Symbol.

The <> operator no longer supports glob patterns.

The <'pattern'> glob operator, has been removed in favour of the "glob" function. If you try to use <> with an pattern you get an "Usage of the <> operator with a glob pattern, use the 'glob' function instead" compile error.

Default method resolution changed to C3

The default method resolution is changed to C3, see mro for more information about the C3 method resolution.

"use strict 'subs'" is default on

By default "use strict 'subs'" is active. See strict for what this means.

Typed declarations are no longer possible

Typed declarations like "my Animal::Dog $dog" are no longer allowed. You get a "Expected variable after declarator" compile error if you try to use it.

Internal bleadperl changes

bleadperl changes up to 31540 are integrated

KNOWN BUGS

Documentation

Documentation has not been updated for many of the changes for kurila.

Limited platform support

Perl Kurila has only been tested/build for x86_64-linux-gnu-thread-multi platform.

SEE ALSO

The INSTALL file for how to build Perl Kurila.

The README file for general stuff.

The Artistic and Copying files for copyright information.

HISTORY

Written by Gerard Goossen <gerard@tty.nl>.

1 POD Error

The following errors were encountered while parsing the POD:

Around line 79:

=back without =over