kurila119delta - what is new for Perl Kurila 1.19


NAME

kurila119delta - what is new for Perl Kurila 1.19


DESCRIPTION

This document describes differences between Perl Kurila 1.18 and Perl Kurila 1.19


Highlights In Perl Kurila 1.19

Subroutines can be used as l-values.


Core Enhancements

Subs can be used as l-values

Subs declared using a formal paramter defintion like

 sub foo( = $x ) { ... }
 foo() = "value";

If the assignment is optional the sub can be used in combination with a operator with modifies its argument. For example:

 sub foo( ?= $x ) { ... }
 foo() += 3;

This will first call foo twice, once without $x and with $^is_assignment set to false, then again with the computed value for $x and with $^is_assignment set to true.

Rationale

Intuitive syntax for setting values using subroutines.

Formal parameters

Subroutines can have formal parameters like sub foo($x, $y) or sub foo($x, @< $y). Actual parameters are mapped to formal parameters similar pattern matching. The number of actual parameters is checked at compile to match the number parameters expected.

Rationale

Expressive formal parameters. Allows compile-time argument checking.

local does not set the operand to undef

Using local does automaticly reset the operand to undef.

Rationale

Allows local to be used on values which should not be reset to undef.

STDOUT, STDERR, STDIN renamed to $^STDOUT, $^STDERR, $^STDIN

The standard file handle STDOUT, STDERR, STDIN are renamed to $^STDOUT, $^STDERR and $^STDIN

Rationale

Reduce the use of globs.


KNOWN BUGS

Documentation

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

Self referential assignment problems

Assigning some value to a part of itself behaves unexpected.

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

 kurila119delta - what is new for Perl Kurila 1.19