Perl differenza tra perl 5 e perl 6

  • Autore discussione Utente cancellato 275459
  • Data d'inizio
U

Utente cancellato 275459

Ciao gente, volevo sapere quali sono le differenze principali tra perl 5 e perl 6 e dove posso imparare perl, oppure se c'è un lang migliore per scripting.
 
Ciao gente, volevo sapere quali sono le differenze principali tra perl 5 e perl 6 e dove posso imparare perl, oppure se c'è un lang migliore per scripting.
Non sono esperto su questo argomento ma navigando in rete ho trovato questa discussione di reddit dove si fa un po' il punto della situazione con diversi spunti su dove attingere informazioni o eventuali guide, vedi se può esserti utile :)
 
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
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)
}
e il classico parse da command line che da 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.

se c'è un lang migliore per scripting
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.