Da PocketPerl.
Approfondimenti
- Uno dei testi citati nel capitolo, Higher-Order Perl, é liberamente disponibile per il download: [1].
Errata Corrige
- Mi è stato fatto notare che l'iilustrazione di pag. 69 non rispetta le convenzioni grafiche usate fino a quel punto per rappresentare strutture dati. Dalla figura pubblicata nel libro sembra che i valori associati alle chiavi nome e cognome siano riferimenti a valori scalari. Una rappresentazione più chiara e corretta avrebbe dovuto essere quella di seguito:
- Pag. 71, alla fine del suggerimento: " [...] HASH per i riferimenti ad hash e CODE i riferimenti a subroutine." dovrebbe essere: " [...] HASH per i riferimenti ad hash e CODE per i riferimenti a subroutine."
- Pag. 74, in mezzo alla pagina: "[...] $bar invece ha invece mantenuto le modifiche avvenute all'interno del blocco [...]" dovrebbe essere: "[...] $bar ha invece mantenuto le modifiche avvenute all'interno del blocco [...]"
- Pag. 75, nell'esempio in fondo alla pagina viene dichiarata la subroutine double() per poi essere utilizzata con il nome di raddoppia(), l'ultima riga dovrebbe quindi essere:
say double( 10 );
- Pag. 76, verso il fondo della pagina "il comma operator documentazione" dovrebbe essere "il comma operator nella documentazione"
- Pag. 77, nell'esempio di codice riportato il nome della subroutine implementata non coincide con quello della subroutine chiamata. Le ultime due righe di codice dovrebbero pertanto essere:
my @lista = applause( ‘Clap’, 2 );
my $string = applause( ‘Clap’, 2 );
- Pag. 79, il codice dell'esempio a fondo pagina è sbagliato, ecco la versione corretta:
use strict;
use warnings;
use feature ‘say’;
sub load_user_profile {
my $params = shift;
my $username = $params->{username};
my $cached = $params->{cached} // 0;
my $data_source = $params->{data_source} // ‘user_db’;
say “Loading user $username from $data_source...”;
}
load_user_profile(
{
username => ‘stefano’,
data_source => ‘mysql’
}
);