PDA

View Full Version : Perl?


kingv
02-03-2006, 17:01
Talvolta per lavoro mi capita di dover creare degli script non particolarmente complicati ma che devono essere il più possibile robusti e professionali. Principalmente questi script trattano dei testi in input (con ampio uso di sed e talvolta di awk) e li utilizzano come input per altri programmi.

Fino ad ora mi sono arrangiato con degli script bash, ma ho i seguenti problemi:
- la sintassi da paleolitico, poco intuitiva e con un supporto orrendo per costrutti e test utilizzati abitualmente dai linguaggi moderni
- problemi di portabilità quando utilizzo dei programmi esterni per trattare i testi che manipolo (ad esempio a seconda dei sistemi awk si puo' chiamare anche gawk, nawk ecc.ecc).
- su alcuni sistemi bash non è installato di default

Potrebbe perl essere una soluzione? Che io sappia è disponibile su quasi tutti i sistemi operativi e nella maggior parte dei casi è installato di default, inoltre potrei evitare di usare i tool tipo sed dato che le funzionalità dovrebbero essere incluse direttamente nel linguaggio. Python mi darebbe qualche vantaggio in più?

Se qualcuno ha anche un buon libro da consigliare ( possibilmente disponibile anche in forma cartacea, il tempo è poco e anche il tazza-break si puo' sfruttare :fagiano: ) considerando che di perl non so nulla ma di programmazione sì.

:)

Emyl
02-03-2006, 21:47
Learning Perl della O'Reilly.

In inglese, un must ;)

VICIUS
03-03-2006, 00:33
Oltre a Perl prova a dare un occhiata anche a Ruby. Ha sicuramente una sintassi più chiara e facile da imparare del concorrente.

ciao ;)

andbin
03-03-2006, 09:43
Se qualcuno ha anche un buon libro da consigliareSe non lo conosci, c'è il sito learn.perl.org (http://learn.perl.org). Nella sezione Online Library ci sono dei libri gratuiti in pdf. Non sono sicuramente il massimo ma io li ho trovati utili.

pippo985
03-03-2006, 09:53
Io aggiungerei anche Perl Cookbook, ricette già pronte per l'utilizzo di perl in ogni ambito.
Veramente ben fatto, te lo consiglio

Ziosilvio
03-03-2006, 10:26
Potrebbe perl essere una soluzione?
Senz'altro: è nato apposta per sostituirsi allo shell scripting nello svolgimento di compiti complessi, ed è il linguaggio di scripting più diffuso.
Python mi darebbe qualche vantaggio in più?
Usando Python al posto di Perl, avresti dei programmi che non sembrano passeggiate di un gatto sulla tastiera.
A scapito però della possibilità di riutilizzare gli script su molte altre macchine (Python è tuttora meno diffuso di Perl), e forse anche di un po' di velocità.

(Nota: il commento sulla sintassi del Perl è preso da questo articolo di Michele Sciabarrà (http://michele.sciabarra.com/page/NonUsateQuelLinguaggio).)

kingv
03-03-2006, 11:23
grazie a tutti per i consigli.
in effetti ho letto qualcosa e da una parte sono stato colpito dalla potenza delle funzioni per la manipolazione di stringhe e array e dalla facilità con cui si puo' interagire col sistema, dall'altra anche un programma di 30 righe ad una prima analisi mi sembra una versione di greco fatta senza avere il dizionario. :D

Molto bella la definizione di Sciabarrà (che se non ricordo male è anche apparso su questo forum).