# Perl/Introduzione

Perl
Copertina Bibliografia Tutti i moduli · Sviluppo
    CopertinaPerl/Copertina
* IntroduzionePerl/Introduzione
* C'è Perl?Perl/C'è Perl?
* Primo programma: Ciao Mondo!Perl/Primo programma: Ciao Mondo!
** Primo programma in un filePerl/Primo programma in un file
* VariabiliPerl/Variabili
** Variabili scalariPerl/Variabili scalari
** Variabili vettoriPerl/Variabili vettori
** Variabili hashPerl/Variabili hash
* IstruzioniPerl/Istruzioni
** Istruzioni minimePerl/Istruzioni minime
** Istruzioni compostePerl/Istruzioni composte
** Istruzioni racchiuse o bloccoPerl/Istruzioni racchiuse o blocco
** Istruzioni etichettaPerl/Istruzioni etichetta
** Istruzioni particolari su blocchi o etichettePerl/Istruzioni particolari su blocchi o etichette
** Istruzioni decisionaliPerl/Istruzioni decisionali
** CicliPerl/Cicli
* Applicare la teoriaPerl/Applicare la teoria
* FunzioniPerl/Funzioni
* Funzioni Native sulle variabiliPerl/Funzioni Native sulle variabili
** Funzioni Native su scalariPerl/Funzioni Native su scalari
** Funzioni Native su vettoriPerl/Funzioni Native su vettori
** Funzioni Native su hashPerl/Funzioni Native su hash
* FilePerl/File
* Espressioni regolariPerl/Espressioni regolari
** Espressioni regolari (oltre)Perl/Espressioni regolari (oltre)
** Espressioni regolari (contesto)Perl/Espressioni regolari (contesto)
Modifica il sommario
Il Perl è un linguaggio totalmente libero nato dalla mente di Larry Wall per risolvere problemi sistemistici, ma data la sua semplicità e potenza è stato utilizzato per ogni scopo.
Larry Wall sostiene che l'obiettivo del Perl è mantenere semplice la soluzione dei problemi semplici e possibile la soluzione di quelli difficili.

## Perché scegliere Perl

* Gli interpreti Perl sono disponibili per tutte le piattaforme, quali Windows, Linux, BSD, Unix, Amiga, Mac OS X e i programmi sono molto portabili da una piattaforma ad un'altra.
* Come per molti altri linguaggi open-source, la documentazione disponibile on-line e dalle man page è molto esaustiva; tuttavia, a differenza di molti altri casi, la comunità Perl non ha provveduto alla creazione di un IDE apposito.
Esistono in rete molti editor OpenSource, quindi totalmente gratuiti, che permettono di sviluppare con questo linguaggio in modo molto veloce. Un editor Perl, ma non solo, molto famoso è sicuramente Komodo Edit. Questa IDE ha poi anche una versione commerciale e con molte più caratteristiche che va sotto il nome di Komodo IDE Professional.
* Perl presenta una ricca libreria di moduli disponibili di cui gode, tutti liberi a loro volta disponibile gratuitamente e comodamente da CPAN.
* Perl, come molti altri linguaggio liberi, è un linguaggio vivo che continua la sua evoluzione, pur mantenendo sempre una ottima compatibilità con le versioni precedenti.

## Caratteristiche

Per quelli del mestiere Perl è un linguaggio non "tipato" e ricco di zucchero sintattico, cosa che lo rende oltremodo comodo per chi lo conosce meglio; permette la programmazione ad oggetti, la creazione di classi, le chiusure, ha un proprio garbage collector e permette la compilazione a run time del codice.
Per la libertà lasciata agli sviluppatori che scelgono il Perl quale linguaggio di sviluppo questo linguaggio è stato spesso tacciato di essere troppo permissivo e non adatto a scopi didattici.
Se la pigrizia è una virtù riconosciuta per gli sviluppatori, il Perl grazie alla sua espressività permette una forte sintesi e la scrittura di molte righe di codice in meno rispetto a linguaggi più comuni quali Java, C++, Python, etc. Meno righe significa meno errori e spesso maggior attenzione sugli algoritmi e quindi maggiore efficienza, ma non è sempre così: Perl viene spesso giudicato negativamente per il fatto che facilita la scrittura di programmi difficili da leggere e quindi rendendo complicata la loro manutenzione (al punto che il nome del linguaggio è stato reinterpretato come Pathologically Eclectic Rubbish Lister);