Highlights:
+ Subs can be used as l-values
Examples:
my $test_builder = Test::Builder->new();
$test_builder->current_test() += 3;
local env::var("PATH") = "";
+ Formal parameters
Subroutines can have formal parameters like "sub foo($x, $y)".
http://dev.tty.nl/static/kurila/doc/pod/kurila119delta.html
has a more detailed description of the changes.
Known bugs:
+ Documentation
+ Limited platform support
kurila 1.19 is released together with more then hundred modules,
available together at:
http://dev.tty.nl/static/kurila/kurila-bundle-1.19.tar.gz
kurila 1.19 without the CPAN modules is available at:
http://dev.tty.nl/static/kurila/kurila-1.19_0.tar.gz
And should become available on CPAN.
Or use git to get the latest version:
git-clone git://github.com/ggoossen/kurila
Perl Kurila is a dialect of Perl. With Perl 5 as ancestor it has a
solid base, but without the backwards compatibility
requirement of Perl 5, it is free to evolve into new directions.
More information about kurila is available at
http://dev.tty.nl/kurila.html
> local env::var("PATH") = "";
A sugared version of
local $v = $v;
could be
local= $v;
--
Ruud
>> A sugared version of
>> local $v = $v;
>> could be
>> local= $v;
>
> Thanks for your suggestion,
> but "local" has already been changed to not reset the the variable.
I suggested an alternative, because there is plenty of code around that
assumes that the localised variable starts out as undef.
For example slurping; in stead of
local $/;
in Kurila that now needs
local $/ = undef;
or
undef local $/;
> Thus "local $v" would not set $v to undef, only store the current
> value to be restored when exiting the current scope.
>
> This can be used for example with an indentation level:
> local $indentation_level += 2;
In Perl 5 you do:
local $indentation_level = $indentation_level + 2;
--
Ruud