Ultima modifica:
Ormai sono considerati di fatto due linguaggi diversi: perl 6 adesso si chiama raku, perl 7 sarà il proseguo di perl 5 e raku andrà avanti per i fatti suoi. Per far capire meglio posto un esempio preso da rosettacode
e il classico parse da command line che da
Perl:
# Quicksort in perl 5
sub quick_sort {
return @_ if @_ < 2;
my $p = splice @_, int rand @_, 1;
quick_sort(grep $_ < $p, @_), $p, quick_sort(grep $_ >= $p, @_);
}
Perl:
# Quicksort in raku (perl 6)
multi quicksort([]) { () }
multi quicksort([$pivot, *@rest]) {
my $before := @rest.grep(* before $pivot);
my $after := @rest.grep(* !before $pivot);
flat quicksort($before), $pivot, quicksort($after)
}
echo "Hello world" | perl -e 'print while <>;'
diventa echo "Hello world" | raku -e '.say for lines();'
. La sintassi è cambiata significativamente, non è una differenza superficiale come quella tra python 2 e python 3. Ovvio che se prima si chiamava perl 6 un motivo c'è... la filosofia è rimasta la stessa, ma ormai è meglio trattarli come due linguaggi distinti.Probabilmente sì. Hanno il loro use-case (e.g., manipolazione di stringhe) ma non sono trendy. Non so cosa sei interessato a fare, ma immagino che potrebbe interessarti python.se c'è un lang migliore per scripting