kurila01delta - what is new for Perl Kurila 0.1


kurila01delta - what is new for Perl Kurila 0.1


This document describes differences between Perl Kurila 0.1 and Perl v5.9.x DEVEL30965

Highlights In Kurila 0.1

Core Enhancements

Lexical scoped byte vs codepoint semantics

Instead of having an string dependend byte vs codepoint semantics, the semantics is not determined by the lexical scope. use bytes sets byte semantics for the current lexical scope, use utf8 set codepoints semantics for the current lexical scope. chomp, chop, chr, index, lc, lcfirst, length, oct, ord, reverse, rindex, substr, uc, ucfirst all depend on the lexical scope to determine whether to use bytes or codepoints. The default lexical scope is bytes.


Semantics of a function is fixed at compile time.

Internal encoding using UTF-8

Strings are always internally represented using UTF-8


No need to worry about what encoding a string is. There is no need to distinguish byte and codepoint strings.


\x{NUMBER} creates a codepoint with the numeric value NUMBER. \x[NUMBER] creates a byte with numeric value NUMBER modulo 256. \x1b creates a codepoint or byte depending on the lexical scope.


Makes it possible to distinguish between a bytes and codepoints.

/u pattern option

Regex unicode matching is enabled when /u option is enabled on a pattern, or when use utf8 is in effect.


Unicode vs bytecode matching no longer depends on the input string, but is determined by the pattern, thus a pattern option is needed to distinguish the two.

Indirect object syntax removed

Indirect object syntax has been removed.


Indirect object syntax is ambiguous. And this frees the syntax for other uses.

formats removed

The format and formline keywords have been removed. As well as the special vars $^A, $^, $~, $=, $-, $% and $:.


Formats have many problems. Perl6::Form is a much better alternative.

Modules and Pragmata

New Modules and Pragmata

Perl6::Form, by Damian Conway, is a replacement for the removed format and formline keywords. Slightly modified as not to depend on Perl6::Export

Updated Modules And Pragmata

Almost all modules and pragmata have been udpated to for the changes in the Core.

Deleted Modules and Pragmata

locale, the locale pramga has been removed.



Documention has not been updated for many of the changes mentioned in this document.

Limited platform support

Perl Kurila has ony 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>.

 kurila01delta - what is new for Perl Kurila 0.1