Perl, acronimo di Pratical Extraction and Report Language subito ribattezzato Pathologically Eclettic Rubbish Lister dai primi sviluppatori, è un linguaggio interpretato originariamente sviluppato da Larry Wall, autore di famosi programmi Unix come patch(1) e rn(1), e distribuito tramite Usenet.
Perl, nato in ambiente Unix, riassume funzionalità tipiche di programmi come awk e sed(1), nonché caratteristiche tipiche della programmazione Shell e un interfaccia per le chiamate di sistema a primitive Unix.
Il linguaggio Perl è un interpretato, anche se funziona in maniera leggermente diversa dalla maggior parte dei linguaggi che posso essere accumunati da questa definizione, infatti Perl svolge contemporaneamente funzionalità di compilatore e interprete. Quando un file sorgente Perl viene dato in pasto all'interprete, tale file viene prima compilato e ottimizzato e quindi eseguito. La compilazione della sorgente permette anche di riscontrare eventuali errori di sintassi in quanto l'esecuzione non avviene fino a che il programma non sia stato compilato per intero.
Questo permette non solo di ottenere un'esecuzione a livello runtime efficiente ma anche di migliorare il ciclo di sviluppo del software in quanto è possibile apportare modifiche allo script e testarle immediatamente senza dovere incorrere in cicli spesso lunghi e noiosi di compilazione e linkaggio.
Perl per sistemi Win32 vide la luce quando Microsoft diede incarico a ActiveState Tool Corporation (derivata da Hip Communication) di sviluppare una migrazione dell'interprete in modo da poterlo includere all'interno del Windows NT Resource Kit.
ActiveState si occupa tuttora di migliorare e distribuire tale interprete, nonché estenderne le funzionalità specifiche Win32 e includervi nuove funzionalità mano a mano che vengono proposte nella distribuzione originale.
Perl per Win32 consente di utilizzare la maggior parte degli strumenti disponibili ai programmatori in ambiente Windows come OLE automation, connessione con database tramite ODBC, sviluppo ActiveX e molto altro.
Anche se l'utilizzo principale di questo linguaggio è oggi indirizzato verso applicazioni Web di tipo CGI esso può anche essere utilizzato per produrre estensioni ISAPI (funzionalità aggiuntive a quelle offerte dal Web Server) o anche come linguaggio di scripting ActiveX.
Utilizzando le funzionalità offerte dal riconoscimento e manipolazione di Espressioni Regolari (RE) è possibile costruire tool per la validazione sintattica di file HTML, tramite moduli specifici è poossibile modificare il Registro di Sistema (Registry), l'Event Log e addirittura le informazioni relative agli utenti Win32.
Utilizzando moduli, liberamente scaricabili, come Win32::ODBC o Active Data Objects (ADO) è possibile interagire con database sia locali che remoti.
Tramite script Perl è possibile scaricare e filtrare la propria posta o messaggi da Newsgroup, inviare e-mail, interagire con server HTTP e FTP e creare client per qualsiasi altro tipo di server Internet.
Se vuoi approfondire ti consiglio sicuramente di partire dal "Sito del Perl", il famoso CPAN.