Before I begin, I apologize for being really late with this article. I had this article ready for really long time, but for some reason forgot to commit it.
I would like to thank entire Perl 6 community for providing very good product, and even providing already compiled builds I can test stuff on Perl 6 Community Development Server.
Rakudo Perl 2013.05 was released. This not Rakudo Star, and according to the policy, it isn’t mentioned on Rakudo webpage, to avoid confusion with Rakudo Star. Every change mentioned here is in.
Slice adverbs support false booleans.
You can write code like
%a<b> :!exists to check whatever the element doesn’t exist.
You can also write code like
%a<b> :!delete which does nothing, but can be used for conditionally deleting hash keys (for example
%a<b> :delete(%a<c> :!exists)).
dir works properly on pathes with volumes.
This affected platforms such as Windows (actually, is there any platform other than Windows that Rakudo supports and has volumes).
.hash accepts optional
:of named parameters.
spurt is not allowed in restricted setting.
Writing to file in restricted setting doesn’t make any sense, so it’s disallowed now. Please note that restricted setting was never meant as sandbox (you can easily ignore it by calling
pir:: methods directly), but rather for services that execute code, to provide better error reporting for features that are disallowed anyway on higher level.
chmod not allowed in restricted setting.
Ditto, but with different commit.
Pod::Block::Declaractor.gist now works.
gist method had invalid signature, and failed.
It works just like
bag subroutine, except as a method.
:exists works with slices.
It’s allowed by a spec. Previously, it shown error “Cannot use exists adverb with a slice”.
It’s a logical step, considering
slurp as a function already works.
Perl 5 variable
$, only errors when it’s obvious.
$@ itemizers are now allowed.
You don’t have to type
$(@ for something that actually makes sense, just because Perl 5 didn’t allowed it. In Perl 5, these work similarly to