Latest web development tutorials

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