Beh, prima di tutto Higher-Order Perl è veramente buono, ma è la programmazione su funzionale, non oggetti.
Perl Best Practices è un libro eccellente, ma ha i suoi limiti, e uno di loro è che Conway consiglia di utilizzare il proprio modulo Class::Std fare dentro-fuori gli oggetti, e il consenso generale sembra essere (1) che se sei andando a fare gli oggetti dentro-fuori, Object::InsideOut e Class::InsideOut sono modi migliori per farlo (2) e comunque, usare gli oggetti "Moose" è un modo migliore per andare.
Questo dimostra quello che probabilmente è la principale differenza tra il mondo Java e Perl: raramente c'è un modo standard di fare qualsiasi cosa con Perl. Iniziando come qualcuno che si sente a proprio agio con gli oggetti in un'altra lingua, direi che la cosa più interessante di Conway ora è un po 'datata Object Oriented Perl e lo osservo gradualmente a sviluppare diversi modi di aggiungere le funzionalità di OOP che hai dato per scontato.
Mi piace lo stile blessed-hash di base di Perl OOP, ma è necessario capire che l'incapsulamento è davvero debole e che mentre l'ereditarietà del metodo funziona, in genere non esiste un'eredità di dati. Ci sono anche alcuni trucchi piuttosto perlici di ampio uso, come la generazione automatica di accessor usando una routine AUTOLOAD
.
Per quanto riguarda ciò che è possibile leggere sull'argomento, non trascurare la documentazione in linea fornita con Perl: perldoc. Nota la sezione "Tutorials" in alto. Se sei arrugginito sui riferimenti e sulle strutture dati di Perl, leggi i primi due: perldoc perlreftut e perldoc perldsc. Un po 'in basso nell'elenco, vedrai più tutorial OOP. Si tratta in gran parte di semplici oggetti basati su href, anche se ci sono alcune serie strane, come lo schema di Tom Christiansen per gli oggetti basati sulla chiusura nella parte inferiore di: perldoc perltoot
Se siete interessati ad alcuni dei più recenti i modi in cui le persone fanno le cose, si potrebbe voler iniziare con Moose che dovrebbe essere il più vicino possibile ottenere oggetti perl6 mentre si scrive ancora codice perl5. A proposito: ignorare la parola "postmoderno" lì, è uno scherzo sciocco che non ha alcun senso.
Se sei interessato a oggetti interni (che hanno l'incapsulamento antiproiettile, ma sono forse un po 'fastidiosi per il debug-- non puoi semplicemente usare Data::Dumper sull'oggetto per ottenere il suo stato), io suggerire di iniziare con questo perl5 wiki page.
risposta Correlati: http: // StackOverflow. it/questions/984868/is-my-book-too-old-to-learn-from-perl/984909 # 984909 – mercator
In realtà si riferisce al libro a cui ho molto poco interesse. Non ho bisogno di sintassi generale, I bisogno di OOP parte di th e lingua – Bostone