Quali sono alcune funzioni del linguaggio davvero utili ma esoteriche in Perl che sei stato effettivamente in grado di impiegare per fare un lavoro utile?
Linee guida:
- Cerca di limitare le risposte al core Perl e non a CPAN
- Fornisci un esempio e una breve descrizione
Funzionalità nascoste si trovano anche nelle funzionalità nascoste di altre lingue:
(Questi sono tutti dalla risposta di Corion )
- C
- Dispositivo di Duff
- Portabilità e standardità
- C #
- Preventivi per liste e stringhe delimitate da spazi bianchi
- Spazi dei nomi aliasable
- Giava
- Inattivizzatori statici
- JavaScript
- Le funzioni sono cittadini di prima classe
- Portata e chiusura del blocco
- Chiamare metodi e accessori indirettamente tramite una variabile
- Rubino
- Definizione dei metodi tramite codice
- PHP
- Pervasiva documentazione online
- Metodi magici
- Riferimenti simbolici
- Pitone
- Scambio di un valore di riga
- Possibilità di sostituire anche le funzioni principali con le proprie funzionalità
Altre caratteristiche nascoste:
operatori:
- Il quasi-operatore bool
- L'operatore flip-flop
- Utilizzato anche per la costruzione di elenchi
- Gli operatori
++
unari e-
lavorano sulle stringhe - L'operatore di ripetizione
- L'operatore dell'astronave
- Il || operatore (e // operatore) per selezionare da una serie di scelte
- L'operatore del diamante
- Casi speciali
m//
dell'operatore - L '"operatore" tilde-tilde
Citazione costrutti:
- L'operatore qw
- Le lettere possono essere usate come delimitatori di virgolette in costrutti simili a q {}
- Meccanismi di citazione
Sintassi e nomi:
- Può esserci uno spazio dopo un sigillo
- È possibile assegnare nomi numerici ai sottotitoli con riferimenti simbolici
- Virgole finali legali
- Letterali interi raggruppati
- fette di hash
- Popolamento delle chiavi di un hash da un array
Moduli, pragmi e opzioni della riga di comando:
- usare avvertenze rigorose e usare
- Controllo della contaminazione
- Uso esoterico di -n e -p
- CPAN
overload::constant
- IO :: Modulo maniglia
- Scomparti sicuri
- attributi
variabili:
- autovivificazione
- La
$[
variabile - cravatta
- Scoping dinamico
- Scambio di variabili con una singola istruzione
Loop e controllo del flusso:
Espressioni regolari:
Altre caratteristiche:
- Il debugger
- Blocchi di codice speciali come BEGIN, CHECK ed END
- Il
DATA
blocco - Nuove operazioni di blocco
- Filtri sorgente
- Hook di segnale
- mappa ( due volte )
- Avvolgimento delle funzioni integrate
- La
eof
funzione - La
dbmopen
funzione - Trasformare gli avvisi in errori
Altri trucchi e meta-risposte:
Guarda anche: