|
Perl 6
Best Of Perl 6 Tablet: Revision 11
Overview - Chapter: 0:Intr, 1:Hist, 2:Design, 3:Var, 4:Op, 5:IO, 6:{}, 7:Sub, 8:OOP, 9:Rx - Appendices: A:Index, B:Tables, C:Best of, D:Delta, E:Links This is a small tour, showing the best features and improvements of Perl 6 in short examples, compared to similar working Perl 5 examples. OutputMaking output will become simpler and easier for newbies.
File IOFile::Slurp is in the Perl 6 core language and file reading is simpler then ever (and autochomp included).
Automatic multithreadingApplying operations to junctions and arrays is now syntactically compact and readable. Perl 6 will create threads where appropriate to use multiple processors, cores or hyperthreading for high level language SIMD concurrent processing.
The Perl 5 code is a simplification, of course Perl6 "does the right thing" when the arrays have different lengths. ComparsionHere are junctions, then chained comparison operators.
The err operator eases lot of cases where Perl 5 newbies could fall into traps.
Case construct
It's clear to read, very versatile and when used in combination with junctions, becomes even clearer. powerful for loops
named parameters in subroutinesPerl 5: sub routine {my $a = shift;} Perl 6: sub routine ($a, $b, *@rest) {...} Objects with auto generated new and getters and settersSimple Object creation is now as easy as it gets. Perl 5: package Heart::Gold; sub new {bless {speed => 0 }, shift;} sub speed {my $self = shift;} sub stop {my $self = shift;} Perl 6: class Heart::Gold {has $.speed;} The new, getter, setter and clone methods are auto generated. Mthods now are called "method". Overview - Chapter: 0:Intr, 1:Hist, 2:Design, 3:Var, 4:Op, 5:IO, 6:{}, 7:Sub, 8:OOP, 9:Rx - Appendices: A:Index, B:Tables, C:Best of, D:Delta, E:Links |