Latest web development tutorials

Perl Zmienne specjalne

język Perl definiuje jakiś specjalny zmienny, zwykle $ @% lub jako przedrostek, na przykład: $ _.

Wiele zmiennych specjalne mają bardzo długą nazwę angielską, system operacyjny zmiennej $! Może być zapisany jako $ OS_ERROR.

Jeśli chcesz korzystać z angielską nazwę zmiennej specjalnej w programie trzeba udać się, aby dodaćużywać języka angielskiego ;.Ten angielski zmienne specjalne opisowy.

Najpowszechniej stosowanym specjalna zmienna $ _ zmienna zawiera domyślne wejście i wzorzec dopasowania treści. Przykłady są następujące:

#!/usr/bin/perl

foreach ('Google','w3big','Taobao') {
	print $_;
	print "\n";
}

Powyższy program, wyjście jest:

Google
w3big
Taobao

Poniższy przykład nie używamy $ _ do wyjścia:

#!/usr/bin/perl

foreach ('Google','w3big','Taobao') {
	print;
	print "\n";
}

Powyższy program, wyjście jest:

Google
w3big
Taobao

Przykładowo, pierwsze wyjście "Google", a następnie wyjście "w3big", ostateczna moc "Taobao".

W pętli iteracji pętli prądowej sznurka w $ _ a następnie przez wydruków. Można także wydrukować bez określania zmienna wyjściowa jest używany domyślnie w $ _.

Poniżej przedstawiono kilka państw nawet bez Perl przejmie $ _ miejsce:

  • Monoklowe różne funkcje, w tym w ord () i int (), a więc oprócz "-t" wszystkie testy plików ( "-f", "- d"), "- t" domyślna akcja stdin.
  • Lista różnych funkcji, takich jak print () i unlink ().
  • Nie należy używać "= ~" tryb operatora, gdy operacja dopasowania "m //", "s ///" i "tr ///".
  • Jeżeli pozostałe zmienne nie są podane "foreach" pętli iteracji zmienna domyślną.
  • Niejawny iteracji zmienna grep () i mapa function ().
  • Gdy "a" tylko jedyny warunek, a stan jest wynikiem "" test działania, $ _ jest domyślna lokalizacja do przechowywania rejestrów wejściowych. W uzupełnieniu do "while" warunkach testowych, które nie zdarzają. (Symbol: podkreślić w szczególności działania można pominąć).

Specjalne Typy zmiennych

Według szczególnego charakteru użycia zmiennych można podzielić na następujące kategorie:

  • Specjalna zmienna globalna skalarne.

  • Specjalna zmienna globalna tablica.

  • Hash specjalnych zmiennych globalnych.

  • Globalny specjalny uchwyt pliku.

  • Globalny specjalną stałą.

  • Regex specjalnych zmiennych.

  • Plik obsłużyć zmienne specjalne.

Specjalna zmienna globalna skalarne

Poniżej znajduje się lista wszystkich specjalnej zmiennej skalarnej zawierających znaki specjalne i angielskiego w postaci zmiennych:

$ _ Domyślną wejście i wzorzec dopasowania treści.
$ ARG
$. Poprzedni odczyt bieżący numer linii uchwytów plików
$ NR
$ / Separator rekordów wejściowych, domyślnie znak nowej linii. Podobnie jak w przypadku undef zmiennej odczyta końca pliku.
$ RS
$, Separator pól wyjściowych
$ OFS
$ \ Separator rekordów wyjściowych
$ ORS
$ " Ta sama zmienna $, podobne, ale nakłada się na łańcuch ujęty w cudzysłów (lub podobny interpolacji string) jest wstawiony w tablicy okazjach i wartości plaster. Wartość domyślna jest pusta.
$ LIST_SEPARATOR
$; Separator używany, gdy emulację tablicy wielowymiarowej. Domyślną wartością jest "\ 034."
$ SUBSCRIPT_SEPARATOR
$ ^ L Wysłane do kanałów wyjściowych przybrać postać podawania papieru. Domyślną wartością jest "\ f".
$ FORMAT_FORMFEED
$: Obecny zestaw znaków po którym łańcuch może zostać złamana wypełnić pola kontynuacji (począwszy ^) w innym formacie. Domyślnie jest to "\ n" ".
$ FORMAT_LINE_BREAK_CHARACTERS
$ ^ A Przed wydrukowaniem zmienny format danych do zapisywania
$ ACCUMULATOR
$ # Podczas drukowania cyfrowego domyślny format cyfrowy (przestarzałe).
$ OFMT
$? Powrót do stanu polecenia zewnętrznego
$ CHILD_ERROR
$! Wartość liczbowa tej zmiennej jest wartość errno wartość ciąg jest odpowiedni ciąg błąd systemu
$ OS_ERROR lub $ ERRNO
$ @ Eval komunikat o błędzie polecenia, jeżeli jest pusta, oznacza to, że polecenia eval ostatnia zakończona powodzeniem
$ EVAL_ERROR
$$ skrypt Perl, aby uruchomić bieżący identyfikator procesu
$ PROCESS_ID lub $ PID
$ < Rzeczywiste numery abonenckie bieżącego procesu
$ REAL_USER_ID lub $ UID
$> Efektywna liczba użytkownika bieżącego procesu
$ EFFECTIVE_USER_ID lub $ EUID
$ ( Obecny proces rzeczywista liczba grup użytkowników
$ REAL_GROUP_ID lub $ GID
$) efektywna liczba grupa użytkowników bieżącego procesu jest
$ EFFECTIVE_GROUP_ID lub $ egid
$ 0 Nazwa pliku zawiera skrypt wykonywany
$ nazwa_programu
$ [ Indeks pierwszego elementu tablicy tablic, domyślnie jest 0.
$] Perl numer wersji
$ PERL_VERSION
$ ^ D Wartość flagi debugowania
$ debugowanie
$ ^ E W nieuniksowych środowiskach systemu operacyjnego rozszerzone informacje o błędzie
$ EXTENDED_OS_ERROR
$ ^ F Maksymalna wartość identyfikator pliku wspomnianej wiązki
$ SYSTEM_FD_MAX
$ ^ H Aktywowane przez status sprawdzanie składni kompilatora
$ ^ I Wbudowany wartości kontrolnej edytora
$ INPLACE_EDIT
$ ^ M Wielkość puli pamięci zamienna
$ ^ O Nazwa systemu operacyjnego
$ OSName
$ ^ P Określa bieżącą wartość zmiennej wewnętrznej debugger
$ PERLDB
$ ^ T Od początku nowego wieku, tempo sekundach zaczynają zabrakło czasu
$ BASETIME
$ ^ W Aktualna wartość przełącznika ostrzegawczego
$ OSTRZEŻENIE
$ ^ X Perl binarny kod wykonywalny nazwę
$ EXECUTABLE_NAME
$ ARGV Obecna nazwa pliku odczytać z uchwytem domyślnego pliku, gdy

Specjalna zmienna globalna tablica

@ARGV Do listy argumentów wiersza poleceń skryptu
@ INC Podczas importowania listy katalogów Moduł do przeszukania
@F Wprowadź tablicę wiersza poleceń

Hash specjalnych zmiennych globalnych

% INC

Hash% INC zawiera wszystkie pliki z zadań lub wymagają stwierdzenia zawarte słowo jest nazwą pliku, wartość jest ścieżka pliku

% ENV

Zawierający aktualną zmienną środowiskową

% SIG

Lista sygnałów i jak sobie radzić

Globalny specjalny uchwyt pliku

ARGV

Specjalny uchwyt pliku za pośrednictwem tablicy zmiennej @ARGV wszystkie nazwy plików

STDERR

Błąd standardowy uchwyt wyjście

STDIN

Standardowy uchwyt wejściowy

STDOUT

Standardowy uchwyt wyjście

DANE

Specjalny uchwyt pliku odniesienia wszelkie treści flag __END__ w pliku zawierającego treść skryptu po. Lub odniesienie do całej zawartości pliku zawiera __DATA__ po flagę, tak długo, jak przeczytałem w tych samych danych pakietowych, __ DATA__ tam.

_ (Podkreślenie)

Specjalne pliki cache dla uchwytu pliku informacji (fstat, stat i lstat).

Globalny specjalną stałą

__END__

Logicznym końcu skryptu, tekst po ignorowane.

__FILE__

Obecna nazwa pliku

__LINE__

Bieżący numer linii

__PACKAGE__

Obecna nazwa pakietu, domyślna nazwa pakietu jest głównym.

Regex zmienne specjalne

$ N

Zawierające ostatni wzór pasujący do n-tego łańcucha

$ &

Poprzedni sukces pasujące do wzorca ciąg

$ MATCH

$ `

Ostatni podciąg pasujący do sukcesu poprzedniej zawartości

$ PREMATCH

$ '

Treść ostatniego udanego spotkania po podciągu

$ POSTMATCH

$ +

I ostatni wyszukiwanie wyrażenia ostatnia nawias Format dopasowania. Na przykład:

/Version: (.*)|Revision: (.*)/ && ($rev = $+);

$ LAST_PAREN_MATCH

Uchwyt pliku zmienne specjalne

$ |

Jeśli jest ustawiony na zero po każdym wywołaniu funkcji zapisu lub druku, automatycznie wywołuje funkcję fflush napisany treści zapisze plik

$ OUTPUT_AUTOFLUSH

$%

Bieżący numer strony wyjścia

$ FORMAT_PAGE_NUMBER

$ =

Obecna długość strony. Domyślną wartością jest 60.

$ FORMAT_LINES_PER_PAGE

$ -

Bieżący numer strony linii pozostała

$ FORMAT_LINES_LEFT

$ ~

Obecna nazwa formatu wyjściowego raportu. Domyślną wartością jest nazwa uchwytu pliku.

$ FORMAT_NAME

$ ^

Obecny format wyjściowy nazwa tabeli nagłówka raportu. Domyślną wartością jest z przyrostkiem "_top" nazwa uchwytu pliku.

$ FORMAT_TOP_NAME