Perl variabili speciali
linguaggio Perl definisce una variabile speciale, di solito $, @ o% come prefisso, per esempio: $ _.
Molte variabili speciali hanno un nome molto lungo inglese, il sistema operativo variabile $! Può essere scritto da $ OS_ERROR.
Se si desidera utilizzare il nome inglese di una variabile speciale nel programma necessario testa aggiungereall'uso inglese ;.Questo variabili speciali inglesi descrittivo.
La variabile speciale $ _ più comunemente usato, la variabile contiene l'input di default e il modello dei contenuti di corrispondenza. Esempi sono i seguenti:
#!/usr/bin/perl foreach ('Google','w3big','Taobao') { print $_; print "\n"; }
Il programma precedente, l'uscita è:
Google w3big Taobao
Il seguente esempio non usiamo $ _ per l'output:
#!/usr/bin/perl foreach ('Google','w3big','Taobao') { print; print "\n"; }
Il programma precedente, l'uscita è:
Google w3big Taobao
Esempio, la prima uscita "Google", quindi l'uscita "w3big", il risultato finale "Taobao".
Nel ciclo di iterazione, anello di corrente di stringa $ _ e poi attraverso l'uscita di stampa. stampare anche senza specificare la variabile di uscita viene utilizzato di default di $ _.
Di seguito sono riportati alcuni stati anche senza Perl assumeranno $ _ posto:
- Monoculare varie funzioni, tra cui la funzione come ord () e int (), e così oltre a "-t" tutti i test di file ( "-f", "- d"), "- t" STDIN azione predefinita.
- Un elenco delle varie funzioni, quali la stampa () e unlink ().
- Non usare la modalità operatore "= ~" quando l'operazione di abbinamento "m //", "s ///" e "tr ///".
- Quando le altre variabili non sono dati loop "foreach" iterazione variabile di default.
- iterazione implicita grep variabile () e la funzione di mappa ().
- Quando ", mentre" solo unica condizione, e la condizione è il risultato di prova di funzionamento "", $ _ è la posizione predefinita per l'archiviazione dei record di input. Oltre alle "mentre" condizioni di prova che non accadere. (Memo: sottolineano in una determinata operazione può essere omessa.)
Tipi di variabili speciali
Secondo la natura particolare l'uso di variabili possono essere suddivisi nelle seguenti categorie:
variabile scalare speciale globale.
variabile di matrice speciale globale.
Hash variabili globali speciali.
handle di file speciale globale.
costante speciale globale.
RegEx variabili speciali.
handle di file variabili speciali.
variabile scalare globale speciale
Di seguito è riportato un elenco di tutte le variabile scalare speciale che contiene caratteri speciali e inglese in forma di variabili:
$ _ | L'ingresso e il modello di default i contenuti più adatti. |
$ ARG | |
$. | Precedente lettura numero di riga corrente di handle di file |
$ NR | |
$ / | separatore di record di input, di default un carattere di nuova riga. Come con undef questa variabile leggerà la fine del file. |
$ RS | |
$, | separatore di campo di uscita |
$ OFS | |
$ \ | Il separatore di record in uscita |
$ ORS | |
$ " | La stessa variabile $, simile, ma applicato alla stringa racchiusa tra doppi apici (o simili interpolazione stringa) viene inserito all'interno della matrice di occasioni e di valori fetta. Il valore di default è uno spazio vuoto. |
$ LIST_SEPARATOR | |
$; | Delimitatore utilizzato quando un array multidimensionale di emulazione. Il valore predefinito è "\ 034." |
$ SUBSCRIPT_SEPARATOR | |
$ ^ L | Inviato ai canali di uscita prendere il carattere di alimentazione della carta. Il valore predefinito è "\ f". |
$ FORMAT_FORMFEED | |
$: | L'attuale serie di caratteri dopo che una stringa può essere rotto di riempire i campi di continuazione (iniziano con ^) in un formato. Il valore predefinito è "\ n" ". |
$ FORMAT_LINE_BREAK_CHARACTERS | |
$ ^ A | Prima di stampare il formato dei dati variabili per il salvataggio |
$ ACCUMULATOR | |
$ # | Quando si stampa formato di uscita digitale digitale predefinito (obsoleto). |
$ OFMT | |
$? | Ritornare allo stato di un comando esterno |
$ CHILD_ERROR | |
$! | Valore numerico di questa variabile è il valore di errno, valore di stringa è la corrispondente stringa di errore di sistema |
$ OS_ERROR o $ ERRNO | |
$ @ | Il messaggio di errore di comando eval se è vuoto, significa che l'ultimo comando eval completato con successo |
$ EVAL_ERROR | |
$$ | script in Perl per eseguire l'ID del processo in corso |
$ PROCESS_ID o $ PID | |
$ < | Il numero di abbonati effettivi del processo in corso |
$ REAL_USER_ID o $ UID | |
$> | il numero dell'utente per il processo corrente |
$ EFFECTIVE_USER_ID o $ EUID | |
$ ( | L'attuale processo numero effettivo di gruppi di utenti |
$ REAL_GROUP_ID o $ GID | |
$) | numero di gruppo utente effettivo del processo corrente |
$ EFFECTIVE_GROUP_ID o $ EGID | |
$ 0 | Il nome del file contenente lo script in esecuzione |
$ PROGRAM_NAME | |
$ [ | Indice del primo elemento di array di array, il valore predefinito è 0. |
$] | Perl numero di versione |
anche come $ PERL_VERSION | |
$ ^ D | Il valore del flag di debug |
$ debugging | |
$ ^ E | Nel settore non-UNIX ambienti del sistema operativo esteso informazioni di errore |
$ EXTENDED_OS_ERROR | |
$ ^ F | Valore massimo identificatore di file di detto fascio |
$ SYSTEM_FD_MAX | |
$ ^ H | Attivato dal controllo dello stato della sintassi del compilatore |
$ ^ I | Built-in del valore di controllo del redattore |
$ INPLACE_EDIT | |
$ ^ M | Dimensioni pool di memoria di riserva |
$ ^ O | nome del sistema operativo |
$ OSNAME | |
$ ^ P | Specifica il valore variabile interna debugger corrente |
$ PERLDB | |
$ ^ T | Dall'inizio del nuovo secolo, il ritmo dei secondi iniziano a corto di tempo |
$ BASETIME | |
$ ^ W | Il valore corrente dello switch avvertimento |
$ ATTENZIONE | |
$ ^ X | Perl binario nome in codice eseguibile |
$ EXECUTABLE_NAME | |
$ ARGV | il nome del file corrente letto dal manico file predefinito quando |
variabile di matrice globale speciale
@ARGV | Per la lista degli argomenti della riga di comando di script |
@INC | Quando si importa la lista di directory del modulo da ricercare |
@F | Inserire la matrice riga di comando |
Hash variabili globali speciali
% INC | Hash% INC contiene tutti i file con un fare o richiedere dichiarazioni contenute delle parole chiave è il nome del file, il valore è il percorso del file |
% ENV | Contenente la variabile d'ambiente corrente |
% SIG | Lista segnale e come affrontare |
handle di file speciale globale
ARGV | maniglia speciale di file attraverso l'array @ARGV variabile tutti i nomi di file |
STDERR | Errore di maniglia di output standard |
STDIN | maniglia di input standard |
STDOUT | maniglia di output standard |
DATI | Particolare riferimento handle di file ogni bandiera __END__ contenuti nel file che contiene il contenuto dello script dopo. O un riferimento a tutti i file di contenuto contiene __DATA__ bandiera dopo, a patto che avete letto negli stessi dati a pacchetto, __ DATA__ lì. |
_ (Sottolineatura) | File speciali maniglia file di cache per informazioni (fstat, STAT e lstat). |
costante speciale globale
__END__ | La conclusione logica dello script, il testo dopo ignorato. |
__FILE__ | il nome del file corrente |
__LINE__ | Il numero di riga corrente |
__PACKAGE__ | Il nome del pacchetto corrente, il nome del pacchetto predefinito è principale. |
variabili speciali regex
$ N | Contenente l'ultimo pattern matching n ° stringa |
$ & | Precedente successo stringa di pattern matching |
$ PARTITA | |
$ ` | Ultimo sottostringa corrispondente il successo del contenuto precedente |
$ Prematch | |
$ ' | Contenuto ultima partita di successo dopo la stringa |
$ POSTMATCH | |
$ + | E l'ultima ricerca di espressioni regolari ultima parentesi formato corrispondente. Ad esempio: /Version: (.*)|Revision: (.*)/ && ($rev = $+); |
$ LAST_PAREN_MATCH |
File di gestire le variabili speciali
$ | | Se impostato a zero dopo ogni scrittura chiamata di funzione o di stampa, chiama automaticamente la funzione fflush, contenuti scritti scriverà il file |
$ OUTPUT_AUTOFLUSH | |
$% | Il numero di pagina corrente in uscita |
$ FORMAT_PAGE_NUMBER | |
$ = | La lunghezza della pagina corrente. Il valore predefinito è 60. |
$ FORMAT_LINES_PER_PAGE | |
$ - | Il numero di pagina corrente di linee rimanenti |
$ FORMAT_LINES_LEFT | |
$ ~ | Il nome attuale del formato di output del report. Il valore predefinito è il nome del gestore di file. |
$ FORMAT_NAME | |
$ ^ | L'output del report formato del nome tabella di intestazione corrente. Il valore di default è con il suffisso "_TOP" nome di handle di file. |
$ FORMAT_TOP_NAME |