Prefazione

    • Usare Perl Moderno
    • Riconoscimenti
    • Traduzione

    La Filosofia Perl

    • Perldoc
    • Espressività
    • Contesto
      • Contesti Void, Scalare e Lista
      • Contesti Numerico, Stringa e Booleano
    • Idee Implicite
      • La Variabile Scalare di Default
      • Le Variabili Array di Default

    Perl e la Sua Comunità

    • CPAN
      • Strumenti per la Gestione di CPAN
    • Siti della Comunità
    • Siti sullo Sviluppo
    • Eventi
    • IRC

    Il Linguaggio Perl

    • Nomi
      • Nomi di Variabili e Sigilli
      • Namespace
    • Variabili
      • Scope delle Variabili
      • Sigilli delle Variabili
      • Variabili Anonime
      • Variabili, Tipi e Coercizione
    • Valori
      • Stringhe
      • Stringhe e Unicode
        • Codifica dei Caratteri
        • Unicode nei Vostri Filehandle
        • Unicode nei Vostri Dati
        • Unicode nei Vostri Programmi
        • Conversione Implicita
      • Numeri
      • Undef
      • La Lista Vuota
      • Liste
    • Controllo di Flusso
      • Direttive di Scelta
      • L'Operatore Condizionale Ternario
        • Cortocircuiti
      • Contesto per le Direttive Condizionali
      • Direttive di Ciclo
      • Iterazione e Alias
      • Iterazione e Scope
      • Il Ciclo For in Stile C
      • While e Until
      • Cicli dentro altri Cicli
      • Controllo di Ciclo
      • Continue
      • Given/When
      • Chiamate di coda
    • Scalari
      • Scalari e Tipi
    • Array
      • Elementi di un Array
      • Assegnamento ad Array
      • Operazioni sugli Array
      • Slice di Array
      • Array e Contesto
      • Interpolazione di Array
    • Hash
      • Dichiarazione di Hash
      • Indicizzazione di Hash
      • Esistenza di Chiavi di Hash
      • Accedere a Chiavi e Valori degli Hash
      • Slice di Hash
      • L'Hash Vuoto
      • Idiomi degli Hash
      • Bloccare gli Hash
    • Coercizione
      • Coercizione Booleana
      • Coercizione a Stringa
      • Coercizione Numerica
      • Coercizione di Riferimento
      • Cache di Coercizioni
      • Dualvar
    • Package
      • Package e Namespace
    • Riferimenti
      • Riferimenti a Scalari
      • Riferimenti ad Array
      • Riferimenti a Hash
      • Dereferenziazione Automatica
      • Riferimenti a Funzioni
      • Riferimenti a Filehandle
      • Reference Count
      • Riferimenti e Funzioni
    • Strutture Dati Annidate
      • Autovivificazione
      • Debugging di Strutture Dati Annidate
      • Riferimenti Circolari
      • Alternative alle Strutture Dati Annidate

    Operatori

    • Caratteristiche degli Operatori
      • Precedenza
      • Associatività
      • Arità
      • Posizione
    • Tipi di Operatori
      • Operatori Numerici
      • Operatori Stringa
      • Operatori Logici
      • Operatori bit-a-bit
      • Operatori Speciali

    Funzioni

    • Dichiarazione di Funzioni
    • Invocazione di Funzioni
    • Parametri delle Funzioni
      • Appiattimento
      • Slurping
      • Aliasing
    • Funzioni e Namespace
      • Importazione
    • Gestione degli Errori
      • Validazione degli Argomenti
    • Argomenti Avanzati sulle Funzioni
      • Conoscenza del Contesto
      • Ricorsione
      • Lessicali
      • Chiamate di Coda
    • Trappole e Funzionalità da Evitare
    • Scope
      • Scope Lessicale
      • Lo Scope Our
      • Scope Dinamico
      • Scope di Variabili State
    • Funzioni Anonime
      • Dichiarazione di Funzioni Anonime
      • Nomi di Funzioni Anonime
      • Funzioni Anonime Implicite
    • Chiusure
      • Creazione di Chiusure
      • Uso delle Chiusure
      • Chiusure e Applicazione Parziale
    • State e Chiusure
    • State e Pseudo-State
    • Attributi
      • Uso degli Attributi
      • Svantaggi degli Attributi
    • AUTOLOAD
      • Funzionalità Base di AUTOLOAD
      • Redirezionare dei Metodi in AUTOLOAD()
      • Generazione di Codice in AUTOLOAD()
      • Svantaggi di AUTOLOAD

    Espressioni Regolari e Matching

    • Letterali
    • L'operatore qr// e la Combinazione di Regex
    • Quantificatori
    • Greediness
    • Ancore di Regex
    • Metacaratteri
    • Classi di Caratteri
    • Cattura
      • Catture con Nome
      • Catture Numerate
    • Raggruppamento e Alternativa
    • Altre Sequenze di Escape
    • Asserzioni
    • Modificatori di Regex
    • Matching Intelligente

    Oggetti

    • Moose
      • Classi
      • Metodi
      • Attributi
      • Incapsulamento
        • Polimorfismo
      • Ruoli
        • Ruoli e DOES()
      • Ereditarietà
        • Ereditarietà e Attributi
        • Ordine di Dispatch dei Metodi
        • Ereditarietà e Metodi
        • Ereditarietà e isa()
      • Moose e il Sistema OO di Perl 5
    • Riferimenti Blessed
      • Ricerca di Metodi e Ereditarietà
      • AUTOLOAD
      • Sovrascrittura di Metodi e SUPER
      • Strategie per Sopravvivere ai Riferimenti Blessed
    • Riflessione
      • Verificare se un Modulo è stato Caricato
      • Verificare l'Esistenza di un Package
      • Verificare l'Esistenza di una Classe
      • Verificare il Numero di Versione di un Modulo
      • Verificare l'Esistenza di una Funzione
      • Verificare l'Esistenza di un Metodo
      • Consultare le Tabelle dei Simboli
    • OO Avanzato in Perl
      • Preferite la Composizione all'Ereditarietà
      • Principio di Singola Responsabilità
      • Non Ripetetevi
      • Principio di Sostituzione di Liskov
      • Sottotipi e Coercizioni
      • Immutabilità

    Stile ed Efficacia

    • Scrivere Codice Perl Manutenibile
    • Scrivere in Perl Idiomatico
    • Scrivere Codice Perl Efficace
    • Eccezioni
      • Sollevare Eccezioni
      • Catturare Eccezioni
      • Avvertenze sulle Eccezioni
      • Eccezioni Predefinite
    • Direttive
      • Direttive e Scope
      • Uso delle Direttive
      • Direttive Utili

    Gestire Programmi Reali

    • Testing
      • Test::More
      • Eseguire Test
      • Migliorare i Confronti
      • Organizzazione dei Test
      • Altri Moduli di Testing
    • Gestione dei Warning
      • Generare i Warning
      • Attivare e Disattivare i Warning
      • Disabilitare Categorie di Warning
      • Rendere Fatali i Warning
      • Catturare i Warning
      • Registrare i Vostri Warning
    • File
      • Input e Output
        • open a Due Argomenti
        • Lettura da File
        • Scrittura su File
        • Chiusura dei File
        • Variabili Speciali di Gestione dei File
      • Directory e Path
        • Manipolazione di Path
      • Manipolazione di File
    • Moduli
      • Uso e Importazione
      • Esportazione
      • Organizzare il Codice con i Moduli
    • Distribuzioni
      • Attributi di una Distribuzione
      • Strumenti CPAN per Gestire le Distribuzioni
      • Progettazione delle Distribuzioni
    • Il Package UNIVERSAL
      • Il Metodo isa()
      • Il Metodo can()
      • Il Metodo VERSION()
      • Il Metodo DOES()
      • Estendere UNIVERSAL
    • Generazione di Codice
      • eval
      • Chiusure Parametriche
      • Manipolazioni Durante la Compilazione
      • Class::MOP
    • Overloading
      • Overloading di Operazioni Comuni
      • Overload e Ereditarietà
      • Usi dell'Overloading
    • Taint
      • Uso del Modo Taint
      • Origine dei Dati Marchiati
      • Rimuovere il Taint dai Dati
      • Rimuovere il Taint dall'Ambiente
      • Trappole di Taint

    Perl Oltre la Sintassi

    • Idiomi
      • L'Oggetto $self
      • Parametri per Nome
      • La Trasformata di Schwartz
      • Slurp Semplificato di File
      • Gestire il Main
      • Esecuzione Controllata
      • Validazione Postfissa dei Parametri
      • Regex En Passant
      • Coercizioni Unarie
    • Variabili Globali
      • Gestire le Variabili Sovraglobali
      • Nomi in Inglese
      • Variabili Sovraglobali Utili
      • Alternative alle Variabili Sovraglobali

    Cosa Evitare

    • Bareword
      • Usi Appropriati delle Bareword
        • Bareword come chiavi di hash
        • Bareword come nomi di package
        • Bareword come nomi di blocchi di codice
        • Bareword come costanti
      • Usi Inappropriati delle Bareword
        • Bareword nelle chiamate di funzione
        • Bareword come valori di hash
        • Bareword come filehandle
        • Bareword come funzioni per sort
    • Oggetti Indiretti
      • Invocazioni Indirette con Bareword
      • Limitazioni Scalari della Notazione Indiretta
      • Alternative alla Notazione Indiretta
    • Prototipi
      • Il Problema dei Prototipi
      • Usi Appropriati dei Prototipi
    • Equivalenza Metodi-Funzioni
      • Prospettiva del Chiamante
      • Prospettiva del Chiamato
    • Tie
      • Legare Variabili
      • Implementazione di Variabili Legate
      • Quando usare le Variabili Legate

    Cosa Manca

    • Default Mancanti
      • La direttiva strict
      • La Direttiva warnings
      • IO::File e IO::Handle
      • La direttiva autodie