kurila15delta - what is new for Perl Kurila 1.5


kurila15delta - what is new for Perl Kurila 1.5


This document describes differences between Perl Kurila 1.4 and Perl Kurila 1.5

Highlights In Perl Kurila 1.5

Core Enhancements

New dereference syntax: $ref->$, $ref->@, $ref->%, $ref->&, $ref->*

There is new dereference syntax "->." where . can be any of the sigils $,@,%,& or *. Which will dereference to the type indicated by the sigil. The precedence of the operator is the same as that of "->".


Makes it possible to post-derefence.

Method calls using $obj->?$name instead of $obj->$name

The call methods with run-time name lookup, C,$obj->?$name> has to be used instead of old $obj-$name>. The old $obj->$name will be parsed using the above mentioned new dereference syntax as $obj -$ name>, and normally give a syntax error.


Because ->$ means dereference to an scalar. Thus something else is needed to indicate calling a method with a dynamic name.

Improved Perl 5 to Kurila conversion script.

The Perl 5 to Kurila converted (in the 'mad' directory), has had many improvements, and is far less likely to fail.

The bit operators &, |, ^, ~ are renamed to ^&^, ^|^, ^^^, ^~^.

The bit operators &, |, ^ and ~ have been renamed to ^&^, ^|^, ^^^ and ^~^ respectively. A '^' which does not start one of these operators will give a compile error. Use of a single '&', '|' and '~' where an operator is expected will give a compile error.


Bit operators are rarely used, this makes it more explicit that they are bit operators. And it allows to old bit operators to be used for something else.

use kurila 1.5 should be used to indicate kurila is required.

use kurila should be used to indicate that kurila is required. use VERSION and require VERSION give an error that the code isn't Perl Kurila.

In m/$term[...]/ the [...] always indicates a subscript and never a character class

In regexes instead of guessing whether in $term[...] the [...] is a subscripts or a character class, the [] are always interpreted as a subscript.


Removes guessing whethere [...] is a subscript or a character class.

Removal of the match once ?PATTERN? operator

The ?PATTERN? has been removed. A '?' is now always parsed as the conditional operator "?:".

The .. operator in scalar context (the flip-flop operator) will give an error.

Use of .. operator in scalar context will give a compile error.

The dbmopen, dbmclose and reset keywords have been removed.

The dbmopen, dbmclose and reset are not longer keywords.

Integrate bleadperl changes

bleadperl changes up to Change 32130 are integrated.



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.


The INSTALL file for how to build Perl Kurila.

The README file for general stuff.

The Artistic and Copying files for copyright information.


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

 kurila15delta - what is new for Perl Kurila 1.5