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:

Image:Hom review.png

  • 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’
   }
 );