|
Il linguaggio Perl è uno
strumento formidabile: al tempo stesso un po' magico ed estremamente elegante,
potente e compatto. Superate le prime resistenze di chi tradizionalmente ha
avuto a che fare con linguaggi di programmazione come C, Fortran o Pascal, il
Perl si lascerà apprezzare per le sue doti straordinarie. Innanzi tutto la
compattezza: oltre ad essere uno dei suoi maggiori pregi è all'inizio anche il
più grosso ostacolo; gli script dei programmatori esperti risultano essere molto
sintetici e poco comprensibili per un principiante. Con il tempo, acquistando
familiarità con il linguaggio tutto apparirà estremamente chiaro e l'eleganza
del Perl potrà essere apprezzata in ogni sua parte. Anzi potrà anche accadere di
trovare fastidiose certe ridondanze e la pignoleria delle definizioni presenti
in altri linguaggi di programmazione. Infine la potenza: con poche istruzioni
saremo in grado di compiere operazioni che con altri strumenti sarebbero
risultate talmente complesse o noiose che spesso si sarebbe cercato di agirare
il temuto ostacolo. Col passare del tempo e con l'aumentare della mia esperienza
nell'uso del Perl non è affatto diminuito lo stupore per l'eleganza, la
sinteticità e l'efficacia con cui il Perl mi premette di effettuare determinate
operazioni: è per questo che lo considero uno strumento circondato da un alone
di magia che non si finisce mai di studiare e che rivela in ogni occasione un
nuovo modo in cui il medesimo algoritmo può essere implementato.
Oggi il Perl gode di una certa notorietà in quanto è probabilmente lo strumento
più usato per sviluppare script CGI su server HTTP nel mondo Internet ed
Intranet.
Il linguaggio Perl si sposa perfettamente con il sistema UNIX; anche se oggi ne
sono stati effettuati dei porting su numerose altre piattaforme (OS/2, MS-DOS,
Windows 95, Windows NT, solo per citarne alcune) l'ambiente più naturale per
sviluppare ed eseguire script in Perl rimane UNIX, dove è possibile integrare e
far interagire gli script con i numerosi strumenti presenti nel sistema (sto
pensando a sed, awk, grep, mail e più in generale alle modalità operative e di
intercomunicazione tra i processi offerte da questo ambiente) ed ottenere il
meglio dal linguaggio.
Chi ha già un po' di esperienza con UNIX e con alcuni suoi strumenti (vi, grep,
ecc.) si troverà un passo avanti rispetto ad altri nell'esplorazione del
linguaggio. Tuttavia questo brevissimo fascicolo è stato pensato come uno
strumento elementare per un primo approccio al Perl: nessun prerequisito è
richiesto per affrontare la lettura di queste pagine; è però utile poter
disporre di un interprete Perl per effettuare direttamente le prove ed i test
necessari, anche solo sperimentando gli esempi proposti nei vari capitoli.
Questo fascicolo non ha la pretesa di trattare in modo esaustivo l'argomento: si
tratta semplicemente di un'introduzione elementare per chi non ha mai utilizzato
il Perl e, prima di affrontare letture più approfondite ed impegnative, decide
di voler dare uno sguardo ad ampio raggio alle potenzialità offerte dal
linguaggio.
Per chi desiderasse sapere tutto sul Perl consiglio sicuramente la lettura
dell'ottimo testo di Larry Wall (autore del Perl) e Randal L. Schwartz,
Programming Perl, edito dalla O'Reilly & Associates (1991). Questo libro ha un
approccio didatticamente assai interessante: in un primo capitolo descrive con
una serie di esempi pratici le principali caratteristiche del linguaggio,
mettendo l'utente smaliziato nelle condizioni di scrivere i primi script di una
certa sostanza. Seguono quindi un paio di capitoli in cui si entra nei dettagli
dei vari aspetti del Perl. Infine ampio spazio è lasciato alla soluzione di
problemi pratici (practical programming) anche di una certa complessità.
Una guida sintetica di riferimento è invece offerta dal libricino di Johan
Vromans, Perl 5 -- Desktop Reference, edito dalla stessa O'Reilly & Associates
(1996).
Per un approccio più tradizionale e ``passo-passo'' al linguaggio, è anche da
ricordare il testo di Randal L. Schwartz, Learning Perl, sempre della O'Reilly &
Associates (1993).
Questo fascicolo è strutturato in otto brevi capitoli. Il primo è una
introduzione sintetica ed informale alla programmazione ed ai concetti
riguardanti le strutture dati. Sono stato a lungo incerto sull'opportunità di
inserire un capitolo come questo in una guida introduttiva al Perl. Alla fine ho
deciso di lasciare questo primo capitolo nella speranza che possa essere utile a
quanti si accostano per la prima volta alla programmazione e quindi necessitano
se non altro di una prima infarinatura sulla terminologia usata in questo
contesto.
Il secondo capitolo introduce, in modo forse un po' brusco ed informale, le basi
del linguaggio Perl. Nel capitolo 3 questi concetti vengono sviluppati
introducendo le strutture dati in Perl. Nel capitolo 4 vengono affrontati gli
operatori logici e le strutture di controllo del linguaggio. Il capitolo 5
affronta uno degli aspetti più importanti ed interessanti del linguaggio: le
espressioni regolari ed il pattern matching. Nel sesto capitolo vengono
esaminate in estrema sintesi alcune delle variabili speciali usate dal
linguaggio, mentre nel capitolo 7 si affronta il problema dell'interazione di
uno script Perl con altri programmi esterni. Il capitolo 8 riporta una
descrizione sintetica delle principali istruzioni divise per categorie
funzionali.
Come si intuirà fin dalle prime pagine, in questo fascicolo non sono mai entrato
nei dettagli di ciò che espongo: descrivere ogni particolare sintattico delle
istruzioni del linguaggio sarebbe stato assai noioso ed avrebbe trasformato
questa guida introduttiva in un manuale tecnico. L'approccio scelto è stato
molto diverso: ho preferito fornire una serie di flash ad ampio spettro sulle
possibilità offerte dal linguaggio, lasciando il compito di chiarire (o far
intuire) alcuni dettagli sintattici ai numerosi esempi e tabelle presenti in
ogni capitolo.
Le convenzioni tipografiche impiegate nel testo sono quelle ormai consuete per
questo genere di pubblicazione: con il carattere typewriter ho indicato le
istruzioni Perl o l'output di un comando; il carattere slanted è stato usato per
rappresentare l'input immesso dall'utente, mentre nella descrizione delle
istruzioni il carattere italic è stato usato per descrivere ciò che dovrà essere
sostituito con le variabili e le espressioni vere e proprie nel programma
dell'utente.
Lezione
successiva => Torna
all'indice.
|