Larry Wall: Perl, il linguaggio che ha collegato gli strumenti di Internet
Scopri come Larry Wall ha creato Perl per automatizzare Unix, elaborare testo e costruire una comunità, con i punti di forza e i limiti della sua progettazione espressiva.
Pubblicato 24 agosto 2026Lettura : 6 minDi Yann Bastien
Larry Wall crea Perl per riunire attività che gli strumenti Unix disponibili svolgevano separatamente: percorrere file, riconoscere pattern, convertire formati, produrre report e coordinare comandi. Shell, sed, AWK e C sapevano fare ciascuno una parte del lavoro, ma passare continuamente dall’uno all’altro appesantiva gli script.
Perl riunisce queste capacità in un linguaggio la cui priorità è l’utilità pratica. Le espressioni regolari fanno parte della sintassi, testo e numeri si manipolano con poca cerimonia e un breve script può crescere fino a diventare un’applicazione più grande.
Questa libertà rende Perl molto influente nell’amministrazione dei sistemi e nel primo Web, ma crea anche una tensione: un linguaggio molto espressivo lascia al programmatore la responsabilità di non trasformare la libertà in oscurità.
Tra informatica e linguistica
Larry Arnold Wall nasce nel 1954 a Los Angeles e cresce anche a Bremerton, nello Stato di Washington. Alla Seattle Pacific University studia chimica, musica e informatica, arrivando a un percorso dedicato alle lingue naturali e artificiali.
Studia poi linguistica a Berkeley con la moglie Gloria. Questa formazione influenza il suo modo di pensare i linguaggi: una lingua naturale possiede contesto, irregolarità, diversi livelli di padronanza e più formulazioni accettabili. Wall trasferisce consapevolmente parte di questa ricchezza nella programmazione.
Prima di Perl: rn e patch
Wall è già noto nella comunità Unix prima di pubblicare Perl. Sviluppa rn, un lettore Usenet che gestisce lo stato di lettura e filtra gli argomenti, e patch, che applica a file le differenze prodotte da diff.
patch diventa fondamentale per la collaborazione prima delle moderne piattaforme di codice: invece di inviare copie complete di un programma, gli sviluppatori distribuiscono soltanto le modifiche.
Questi strumenti anticipano caratteristiche di Perl: elaborazione tollerante del testo, priorità al lavoro reale e distribuzione del codice in una comunità connessa.
Il problema concreto che porta a Perl
A metà degli anni Ottanta Wall lavora su più macchine Unix e dati distribuiti. AWK eccelle nell’elaborazione riga per riga, sed trasforma testo, la shell lancia comandi e C offre più controllo, ma combinare continuamente strumenti diversi è costoso.
Wall inizia quindi un linguaggio che unisce espressioni regolari e modello pattern-azione di AWK, comandi della shell e strutture di dati da linguaggio generale. Perl 1.0 viene pubblicato su Usenet il 18 dicembre 1987.
Il nome viene poi reinterpretato con retroacronimi come Practical Extraction and Report Language, ma ufficialmente Perl non è un acronimo che abbia determinato il progetto originale.
Perché Perl è efficace con il testo
In Perl le espressioni regolari sono integrate direttamente nel codice. Un programma minimo può mostrare le righe che contengono un errore:
while (<STDIN>) { print if /ERROR\s+\d+/;}
La riga corrente è disponibile implicitamente e il pattern viene applicato senza argomento esplicito. Questa densità è produttiva per chi conosce le convenzioni, ma può disorientare chi non vede i valori impliciti.
Perl offre array, hash e conversioni contestuali tra stringhe e numeri. Distingue inoltre contesto scalare e contesto di lista, rendendo il codice compatto ma aumentando l’importanza del contesto.
«C’è più di un modo per farlo»
Il motto TIMTOWTDI, There’s more than one way to do it, esprime la diffidenza di Wall verso un’unica forma legittima per ogni problema.
Un amministratore può scrivere un filtro compatto; un’applicazione più grande può usare funzioni nominate, moduli e stile esplicito. Ma programmi equivalenti possono usare idiomi molto diversi. use strict, use warnings, convenzioni, test e revisioni aiutano a controllare questa libertà.
Perl 4: documentazione e comunità
Le prime versioni evolvono rapidamente con gli utenti. Perl 2 migliora le espressioni regolari, Perl 3 i dati binari e Perl 4 stabilizza la linea diffusa all’inizio degli anni Novanta.
Programming Perl di Larry Wall e Randal L. Schwartz, il celebre Camel Book, offre una documentazione strutturata e trasmette anche idiomi e cultura della comunità. Usenet rende segnalazioni e patch parte integrante dell’evoluzione del linguaggio.
Perl 5: dallo script alla piattaforma
Perl 5, pubblicato nel 1994, introduce riferimenti, strutture annidate, closure lessicali, moduli e basi per la programmazione orientata agli oggetti.
Perl può così rimanere un linguaggio per piccoli script e sostenere applicazioni più grandi. La compatibilità con il passato favorisce l’adozione ma obbliga anche a conservare molti comportamenti storici.
CPAN: l’ecosistema come parte del linguaggio
Il Comprehensive Perl Archive Network (CPAN) nasce a metà anni Novanta grazie alla comunità. Jarkko Hietaniemi e molti maintainer costruiscono l’infrastruttura, mentre migliaia di autori pubblicano moduli.
CPAN offre convenzioni di nome, metadati, test e un percorso comune di distribuzione. Anticipa i registri di pacchetti poi centrali per Python, JavaScript, Rust e altri ecosistemi, mostrando anche rischi come dipendenze abbandonate e qualità variabile.
Perl e il primo Web dinamico
Negli anni Novanta i server Web usano spesso CGI per avviare programmi che generano risposte HTTP. Perl è già presente su molti sistemi Unix, manipola bene le stringhe e dispone di librerie di rete. Diventa una scelta naturale per moduli, motori di ricerca e primi siti dinamici.
Il soprannome «nastro adesivo di Internet» descrive la rapidità con cui gli script collegano server, file, posta e database. CGI e script scritti in fretta mostrano però problemi di prestazioni e sicurezza, a cui risponderanno mod_perl, framework e server applicativi più strutturati.
Una cultura del linguaggio dichiarata
Wall non presenta Perl come una costruzione matematicamente minimale. Difende contesto, indizi visivi e più forme di espressione. Le tre «virtù» umoristiche del programmatore - pigrizia, impazienza e orgoglio - valorizzano automazione, feedback rapido e qualità del risultato.
Questa cultura rende Perl riconoscibile, ma spiega anche perché le squadre abbiano bisogno di convenzioni quando uno script personale diventa software di lunga durata.
Perché Larry Wall conta ancora
Perl ha mostrato presto che un linguaggio non è soltanto sintassi e interprete: documentazione, ecosistema di pacchetti, comunità e strumenti condivisi sono altrettanto importanti. Molti linguaggi moderni adottano ormai naturalmente questo modello.
L’influenza di Wall sta anche in una domanda pragmatica: quanta complessità può assorbire il linguaggio per permettere all’essere umano di esprimere più rapidamente un compito concreto? Perl ha spesso scelto l’espressività, producendo enorme produttività e limiti altrettanto istruttivi.
Cronologia
1954: nascita a Los Angeles.
Anni 1980: sviluppo di rn e patch.
1987: pubblicazione di Perl 1.0 su Usenet.
1991: Perl 4 stabilizza la prima famiglia.
1994: pubblicazione di Perl 5.
Metà anni 1990: sviluppo di CPAN.
Anni 1990: forte diffusione nel Web dinamico.
Oggi: Perl resta presente in sistemi esistenti, automazione, elaborazione del testo e nella sua comunità.
Domande frequenti
Perché Larry Wall ha creato Perl?
Per riunire elaborazione del testo, espressioni regolari, report e comandi di sistema in un unico linguaggio invece di passare continuamente tra shell, sed, AWK e C.
Che cosa significa Perl?
Perl non è ufficialmente un acronimo. Interpretazioni come Practical Extraction and Report Language sono nate in seguito.
Perché Perl è considerato difficile da leggere?
Permette variabili implicite, comportamento dipendente dal contesto, espressioni regolari dense e molti idiomi. Codice Perl scritto con chiarezza può essere manutenibile, ma richiede disciplina.
Che cosa ha reso CPAN speciale?
Ha unito un grande archivio di moduli a metadati, test e distribuzione comuni, rendendo l’ecosistema una parte centrale del linguaggio.
Perl è ancora usato?
Sì. Il suo ruolo è minore rispetto all’epoca del primo Web, ma resta usato per applicazioni esistenti, amministrazione di sistemi, testo e automazione.
Scopri come Brian Kernighan ha contribuito ad AWK, diffuso C e Unix, creato strumenti specializzati e stabilito una pedagogia duratura della programmazione.
Scopri come Guido van Rossum ha creato Python partendo dall'esperienza di ABC, ne ha guidato l'evoluzione e ha trasformato un progetto personale in un bene della comunità.