kurila17delta - what is new for Perl Kurila 1.7


NAME

kurila17delta - what is new for Perl Kurila 1.7


DESCRIPTION

This document describes differences between Perl Kurila 1.6 and Perl Kurila 1.7


Highlights In Perl Kurila 1.7


Core Enhancements

Block interpolation using {...} inside double quoted strings

Inside double quoted strings {...} are interpolated in double quoted strings. They can also be used to evaluate code inside a replacement part of the substitute, for example s/<<=(.*)/{ eval $1 }/g >.

Rationale

Makes interpolating code inside a double quoted string easy.

Numeric comparison operators renamed.

The numeric comparison operators < <= > >=, and <=> are renamed to +<, +<=, +>, +>= and <+> respectively.

Rationale

Makes the old comparison operators free for other uses.

Interpolation independent of the delimiter

Single quotes don't have any special meaning when used as delimiters for other constructors, i.e. m'$a' is the same as m/$a/.

Rationale

Simplifies the currently complex interpolation rules.

No-escaping within single quotes

Single quotes do not do any escaping. This includes not escaping \\ and \'.

Rationale

Makes single quotes consistent in not doing escaping.

Substitute modifier s///e is removed

The substitute modifieders s///e and s///ee to evaluate the replacement are no longer supported. The new interpolating {...} can be used instead.

Rationale

Removed in favor of using {...}

Obligatory m in front of matches.

/PAT/ is longer supported and instead m/PAT/ must be used. Depending on the context a / will be interpreted as a divide operator or an error will be raised.

Rationale

Simplifies the interpretation of /

Renamed readline <> operator to ~<

The readline operator <FH> has been renamed to ~< *FH. There is no special syntax for ~<. There is no default *ARGV, and *ARGV must be explictly given to ~<

Rationale

Makes the syntax more consistent

open must have a separate mode and filename

open should always be used with separate mode and filename. Using open with 2-arguments with a concatenate mode and filename no longer works and gives an error.

Rationale

Makes the distinction between mode and filename explicit.

Removal of $]

The version variable $] has been removed. $^V (eq "kurila-1.7") or $kurila::VERSION (eq "1.7") can be used instead

Rationale

Removed because it does not indicate the difference between Perl 5 and Kurila.


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>.

 kurila17delta - what is new for Perl Kurila 1.7