To jest polecenie perlintern, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online systemu MAC OS
PROGRAM:
IMIĘ
perlintern - automatycznie generowana dokumentacja czysto wewnętrznych funkcji Perla
OPIS
Ten plik jest automatycznie generowaną dokumentacją funkcji interpretera Perla
udokumentowane przy użyciu wewnętrznego formatu dokumentacji Perla, ale nie są oznaczone jako część
API Perla. Innymi słowy, one jest nie dla posługiwać się in rozszerzenia!
Czas kompilacji zakres haczyki
BhkENTRY
UWAGA: ta funkcja jest eksperymentalna i może ulec zmianie lub zostać usunięta bez powiadomienia.
Zwróć wpis ze struktury BHK. który jest tokenem preprocesora wskazującym
który wpis zwrócić. Jeśli odpowiednia flaga nie jest ustawiona, zwróci NULL.
Typ zwracanej wartości zależy od tego, o jaki wpis poprosisz.
void * BhkENTRY(BHK *hk, który)
BhkFLAGI
UWAGA: ta funkcja jest eksperymentalna i może ulec zmianie lub zostać usunięta bez powiadomienia.
Zwróć flagi BHK.
U32 BhkFLAGS(BHK *hk)
CALL_BLOCK_HOOKS
UWAGA: ta funkcja jest eksperymentalna i może ulec zmianie lub zostać usunięta bez powiadomienia.
Wywołaj wszystkie zarejestrowane hooki blokowe, aby uzyskać typ który. który jest obróbką wstępną
znak; typ arg zależy który.
void CALL_BLOCK_HOOKS(który, arg)
warunki indywidualne Operatorzy
rdzeń_prototypu
Ta funkcja przypisuje prototyp nazwanej funkcji podstawowej do „sv” lub do a
nowy śmiertelny SV, jeśli „sv” ma wartość NULL. Zwraca zmodyfikowane „sv” lub NULL, jeśli rdzeń
funkcja nie ma prototypu. „code” to kod zwracany przez „keyword()”. To musi
nie być równe 0.
SV * core_prototype(SV *sv, const char *nazwa,
stały kod int,
int * const opnum)
CV Manipulacja Funkcje
docatch Sprawdź przypadki 0 lub 3 w cur_env.je_ret, używane tylko w kontekście eval.
0 jest używane jako kontynuacja wewnątrz eval,
3 jest używany do kości złapanej przez wewnętrzną ewaluację - kontynuuj wewnętrzną pętlę
Zobacz cop.h: je_mustcatch, gdy na dowolnym poziomie działania ustawiony na TRUE, oznacza to, że operacje ewaluacyjne muszą
utwórz lokalny plik jmpenv do obsługi pułapek wyjątków.
Dokument OP* (OP *o)
CV odniesienie liczy się i Cv NA ZEWNĄTRZ
CvSŁABEZEWNĘTRZNE
Każde CV ma wskaźnik „CvOUTSIDE()” do leksykalnie otaczającego go CV (jeśli istnieje).
Ponieważ wskaźniki do anonimowych podprototypów są przechowywane w polach „&”, jest to a
możliwe jest uzyskanie odwołania cyklicznego, z rodzicem wskazującym na dziecko i
nawzajem. Aby uniknąć wynikającego z tego wycieku pamięci, nie zwiększamy odniesienia
liczba CV wskazanych przez „CvOUTSIDE” w pliku pierwszej specyficzny przykład że
rodzic ma miejsce na pad „&” skierowane z powrotem do nas. W tym przypadku ustawiamy
Flaga „CvWEAKOUTSIDE” w potomku. Dzięki temu możemy określić pod czym
okolicznościach powinniśmy zmniejszyć przeliczenie rodzica przy zwalnianiu
dziecko.
Istnieje kolejna komplikacja w przypadku anonimowych subskrybentów, które nie są zamknięte (tj
nie odwołuj się do żadnych leksykałów poza tym podpunktem). W tym przypadku anonim
prototyp jest udostępniany, a nie klonowany. Ma to ten skutek, że
rodzic może zostać zwolniony, dopóki są jeszcze aktywne dzieci, np
ROZPOCZNIJ { $a = sub { eval '$x' } }
W tym przypadku BEGIN jest zwalniany natychmiast po wykonaniu, ponieważ nie ma żadnych
aktywne odniesienia do niego: prototyp anon sub ma ustawione „CvWEAKOUTSIDE”, ponieważ jest
nie jest zamknięciem, a $a wskazuje na to samo CV, więc nie ma wpływu na BEGIN
albo przelicz. Kiedy wykonywany jest $a, „eval '$x'” powoduje wykonanie łańcucha
Należy przestrzegać „CvOUTSIDE” i uzyskać dostęp do uwolnionego BEGIN.
Aby tego uniknąć, za każdym razem, gdy CV i powiązana z nim podkładka zostanie zwolniona, wszelkie wpisy „&” w
podkładka jest wyraźnie usunięta z podkładki, a jeśli przeliczenie jest wskazane
anon sub jest nadal dodatni, wówczas „CvOUTSIDE” tego dziecka jest ustawione tak, aby wskazywało na niego
dziadek. Będzie to miało miejsce tylko w jednym konkretnym przypadku braku zamknięcia
prototyp anon posiadający jedno lub więcej aktywnych odnośników (takich jak $a powyżej).
Kolejną rzeczą do rozważenia jest to, że CV może być po prostu nieokreślone, a nie
zwolniony, np. „undef &foo”. W tym przypadku jego przeliczenie mogło nie osiągnąć zera, ale
nadal usuwamy jego pad i „CvROOT” itp. Ponieważ różne dzieci mogą nadal
mają swoje „CvOUTSIDE” wskazujące na to niezdefiniowane CV, zachowujemy własne „CvOUTSIDE”
na razie, tak aby łańcuch zakresów leksykalnych był nieprzerwany. Na przykład,
następujące polecenie powinno wydrukować 123:
moje $x = 123;
sub tmp { sub { eval '$x' } }
moje $a = tmp();
nieokreślony &tmp;
wydrukuj $a->();
bool CvSŁABEZEWNĘTRZNE(CV *cv)
Wdrożenie Funkcje
cv_dump zrzuca zawartość CV
void cv_dump(CV *cv, const char *title)
cv_forget_slab
Kiedy CV ma liczbę referencji na płycie (CvSLABBED), jest za to odpowiedzialne
upewniając się, że jest uwolniony. (Dlatego żadne dwa CV nie powinny nigdy zawierać referencji
tej samej płyty.) CV musi jedynie odnosić się do płyty podczas kompilacji. Raz
jest skompilowany i dołączony CvROOT, zakończył swoje zadanie, więc może zapomnieć
płyta.
nieważne cv_forget_slab(CV *cv)
do_dump_pad
Zrzuć zawartość listy padów
void do_dump_pad(poziom I32, plik PerlIO *,
PADLIST *padlista, int pełna)
padlist_dup
Duplikuje podkładkę.
LISTAPADL * padlist_dup(LISTAPADL *srcpad,
CLONE_PARAMS *parametr)
padnamelist_dup
Duplikuje listę nazw padów.
LISTAPADNAZW * padnamelist_dup(LISTAPADNAZW *srcpad,
CLONE_PARAMS *parametr)
nazwa_podstawy
Duplikuje nazwę padu.
PADNAME * padname_dup(PADNAME *źródło, CLONE_PARAMS *param)
nazwa_przydzielenia padu
Przydziela miejsce w aktualnie kompilowanym padzie (poprzez „pad_alloc” w perlapi) i
następnie zapisuje nazwę tego wpisu. Nazwa zostaje przyjęty i staje się wpisem imienia; To
musi już zawierać ciąg nazwy. typszyn i nasz zapas i
Dodano flagę „padadd_STATE”. Nazwa. Żadne inne przetwarzanie
„pad_add_name_pvn” w perlapi zostało ukończone. Zwraca przesunięcie przydzielonego padu
otwór.
PADOFFSET pad_alloc_name(PADNAME *nazwa, flagi U32,
HV *skrytka typu, HV *naszaskrytka)
pad_block_start
Zaktualizuj zmienne stanu kompilacji padu przy wejściu do nowego bloku.
void pad_block_start(int pełny)
pad_check_dup
Sprawdź, czy nie ma duplikatów deklaracji: zgłoś dowolne z:
* my w bieżącym zakresie o tej samej nazwie;
* nasz (w dowolnym miejscu konsoli) o tej samej nazwie i
ten sam schowek co C
„is_our” wskazuje, że nazwa do sprawdzenia jest deklaracją „naszą”.
void pad_check_dup(PADNAME *nazwa, flagi U32,
const HV *nasz magazyn)
pad_findlex
Znajdź nazwany leksyk w dowolnym miejscu łańcucha zagnieżdżonych pól. Dodaj fałszywe wpisy w
wewnętrzne podkładki, jeśli znajdują się w zewnętrznej.
Zwraca przesunięcie w dolnym panelu lexu lub fałszywego lexu. cv to CV w
od którego rozpocząć wyszukiwanie, a seq to bieżący cop_seq, do którego należy dopasować. Jeśli
ostrzegać jest prawdą, wydrukuj odpowiednie ostrzeżenia. Zmienne out_* zwracają wartości i tak dalej
są wskaźnikami do miejsca, w którym powinny być przechowywane zwracane wartości. out_capture, jeśli nie-
null, żąda przechwycenia najbardziej wewnętrznej instancji leksykatu; nazwa_wyjściowa to
ustaw na najbardziej wewnętrzną dopasowaną nazwę padu lub fałszywą nazwę padu; out_flags zwraca
flagi zwykle powiązane z polem PARENT_FAKELEX_FLAGS fałszywej nazwy pada.
Należy pamiętać, że pad_findlex() jest rekurencyjny; powtarza się w górę łańcucha CV, a potem przychodzi
wycofaj się, dodając w miarę upływu czasu fałszywe wpisy. Tak musi być, bo jest fałszywe
nazwy w prototypach muszą być przechowywane pod indeksem w konsoli nadrzędnej.
PADOFFSET pad_findlex(const char *namepv,
STRLEN namelen, flagi U32,
const CV* cv, U32 seq, int ostrzeżenie,
SV** out_capture,
PADNAME** nazwa_wyjściowa,
int *out_flagi)
pad_fixup_inner_anons
Dla dowolnych CV w podkładce zmień CvOUTSIDE tego CV z old_cv na nowe_cv, jeśli
niezbędny. Potrzebne, gdy nowo utworzone CV musi zostać przeniesione do wcześniej istniejącego CV
struktura.
void pad_fixup_inner_anons(PADLIST *lista padów,
CV *stare_cv, CV *nowe_cv)
pad_bezpłatny
Zwolnij SV przy przesunięciu po w bieżącym padzie.
void pad_free(PADOFFSET po)
pad_leavemy
Oczyszczanie na końcu zakresu podczas kompilacji: ustaw maksymalną liczbę seq dla leksyków
ten zakres i ostrzegaj przed leksykami, które nigdy nie zostały wprowadzone.
unieważnij pad_leavemy()
pad_push
Wsuń nową ramkę padu na listę padów, chyba że na tej głębokości znajduje się już pad,
w takim przypadku nie zawracaj sobie głowy tworzeniem nowego. Następnie nadaj nowemu padowi @_ in
gniazdo zerowe.
void pad_push(LISTAPADL *lista padów, int głębokość)
reset_padu
Oznacz wszystkie aktualne uzupełnienia tymczasowe do ponownego użycia
unieważnij pad_reset()
pad_przesuń
Porzuć tmp w bieżącym padie przy przesunięciu po i zastąp go nowym.
void pad_swipe(PADOFFSET po, regulacja bool)
GV Funkcje
gv_try_downgrade
UWAGA: ta funkcja jest eksperymentalna i może ulec zmianie lub zostać usunięta bez powiadomienia.
Jeśli typeglob „gv” można wyrazić bardziej zwięźle, mając coś innego
niż prawdziwy GV na swoim miejscu w skrytce, zastąp go zoptymalizowaną formą.
Podstawowe wymagania są takie, że „gv” jest prawdziwym typeglobem i wystarczy
zwyczajny i odnosi się do niego jedynie jego pakiet. Ta funkcja ma być
używane, gdy GV zostało częściowo sprawdzone, aby zobaczyć, co tam było, powodując
modernizacji, ale na podstawie tego, co zostało znalezione, okazuje się, że prawdziwy GV nie jest
w końcu wymagane.
Jeżeli „gv” jest całkowicie pustym typeglobem, zostaje ono usunięte ze skrytki.
Jeśli „gv” jest typeglobem zawierającym tylko wystarczająco zwyczajną stałą sub, wówczas
typeglob zostaje zastąpiony symbolem zastępczym odniesienia skalarnego, który jest bardziej zwarty
reprezentuje to samo.
void gv_try_downgrade(GV* gv)
Haszysz Manipulacja Funkcje
hv_nazwa_add
Dodaje nazwę do wewnętrznej listy skutecznych nazw skrytki. Zobacz „hv_ename_delete”.
Jest to wywoływane, gdy skrytka jest przypisana do nowej lokalizacji w tabeli symboli.
void hv_ename_add(HV *hv, const char *name, U32 len,
flagi U32)
hv_nazwa_usuń
Usuwa nazwę z wewnętrznej listy skutecznych nazw skrytki. Jeśli to jest
nazwa zwrócona przez „HvENAME”, wówczas jej miejsce zajmie inna nazwa na liście
(„HvENAME” go użyje).
Jest to wywoływane, gdy skrytka jest usuwana z tablicy symboli.
void hv_ename_delete(HV *hv, const char *name,
U32 len, flagi U32)
refcounted_he_chain_2hv
Generuje i zwraca „HV *” reprezentujący zawartość „refcounted_he”
łańcuch. Flagi jest obecnie nieużywany i musi wynosić zero.
HV * refcounted_he_chain_2hv(
const struct refcounted_he *c, flagi U32
)
refcounted_he_fetch_pv
Podobnie jak „refcounted_he_fetch_pvn”, ale zamiast łańcucha przyjmuje ciąg znaków zakończony znakiem nul
para ciąg/długość.
SV * refcounted_he_fetch_pv(
const struct refcounted_he *łańcuch,
const char *key, skrót U32, flagi U32
)
refcounted_he_fetch_pvn
Wyszukaj w łańcuchu „refcounted_he” wpis z kluczem określonym przez klucz pv
i klucze. Jeśli Flagi ma ustawiony bit „REFCOUNTED_HE_KEY_UTF8”, kluczowe oktety są
interpretowane jako UTF-8, w przeciwnym razie są interpretowane jako Latin-1. haszysz jest
wstępnie obliczony skrót ciągu klucza lub zero, jeśli nie został wstępnie obliczony.
Zwraca śmiertelny skalar reprezentujący wartość powiązaną z kluczem lub
&PL_sv_placeholder, jeśli z kluczem nie jest powiązana żadna wartość.
SV * refcounted_he_fetch_pvn(
const struct refcounted_he *łańcuch,
const char *keypv, STRLEN klucz, skrót U32,
Flagi U32
)
refcounted_he_fetch_pvs
Podobnie jak „refcounted_he_fetch_pvn”, ale zamiast a. pobiera dosłowny ciąg znaków
para ciąg/długość i brak wstępnie obliczonego skrótu.
SV * refcounted_he_fetch_pvs(
const struct refcounted_he *łańcuch,
const char *key, flagi U32
)
refcounted_he_fetch_sv
Podobnie jak „refcounted_he_fetch_pvn”, ale pobiera skalar Perla zamiast ciągu/długości
para.
SV * refcounted_he_fetch_sv(
const struct refcounted_he *łańcuch, SV *klucz,
Hash U32, flagi U32
)
refcounted_he_free
Zmniejsza liczbę odwołań do „refcounted_he” o jeden. Jeśli odniesienie
count osiągnie zero, pamięć struktury zostaje zwolniona, co (rekursywnie) powoduje a
zmniejszenie liczby referencji jego rodzica „refcounted_he”. Bezpiecznie jest przejść a
wskaźnik zerowy do tej funkcji: w tym przypadku nie jest wykonywana żadna akcja.
void refcounted_he_free(struct refcounted_he *on)
refcounted_he_inc
Zwiększ liczbę odwołań do „refcounted_he”. Wskaźnik do
Zwracane jest również „refcounted_he”. Można bezpiecznie przekazać do tego wskaźnik zerowy
funkcja: nie jest wykonywana żadna akcja i zwracany jest wskaźnik zerowy.
struktura refcounted_he * refcounted_he_inc(
struktura refcounted_he *he
)
refcounted_he_new_pv
Podobnie jak „refcounted_he_new_pvn”, ale zamiast a, pobiera ciąg znaków zakończony znakiem nul
para ciąg/długość.
struktura refcounted_he * refcounted_he_new_pv(
struktura refcounted_he *nadrzędna,
const char *klucz, skrót U32,
SV *wartość, flagi U32
)
refcounted_he_new_pvn
Tworzy nowy „refcounted_he”. Składa się z pojedynczej pary klucz/wartość i a
odniesienie do istniejącego łańcucha „refcounted_he” (który może być pusty), a zatem
tworzy dłuższy łańcuch. W przypadku korzystania z dłuższego łańcucha stosowana jest nowa para klucz/wartość
pierwszeństwo przed jakimkolwiek wpisem dla tego samego klucza w dalszej części łańcucha.
Nowy klucz jest określony przez klucz pv i klucze. Jeśli Flagi ma
Bit „REFCOUNTED_HE_KEY_UTF8” ustawiony, oktety klawiszy są interpretowane jako UTF-8,
w przeciwnym razie są one interpretowane jako Latin-1. haszysz jest wstępnie obliczonym skrótem klucza
ciąg lub zero, jeśli nie zostało wstępnie obliczone.
wartość jest wartością skalarną do przechowywania dla tego klucza. wartość jest przez to kopiowany
funkcji, która w ten sposób nie przejmuje na własność żadnego odniesienia do niej, i później
zmiany wartości skalarnej nie zostaną odzwierciedlone w wartości widocznej w pliku
„refcounted_he”. Złożone typy skalarów nie będą przechowywane z referencjami
uczciwość, ale zostaną zmuszeni do wiązania sznurków. wartość może mieć wartość null lub
&PL_sv_placeholder wskazujący, że z kluczem nie ma być powiązana żadna wartość;
to, podobnie jak w przypadku każdej wartości innej niż null, ma pierwszeństwo przed istnieniem wartości
dla klucza dalej wzdłuż łańcucha.
roślina mateczna wskazuje resztę łańcucha „refcounted_he”, który ma zostać dołączony do nowego
„refcounted_he”. Ta funkcja przejmuje na własność jedno odwołanie do roślina mateczna,
zwraca jedno odniesienie do nowego „refcounted_he”.
struktura refcounted_he * refcounted_he_new_pvn(
struktura refcounted_he *nadrzędna,
const char *keypv,
klucz STRLEN, skrót U32,
SV *wartość, flagi U32
)
refcounted_he_new_pvs
Podobnie jak „refcounted_he_new_pvn”, ale zamiast a. pobiera dosłowny ciąg znaków
para ciąg/długość i brak wstępnie obliczonego skrótu.
struktura refcounted_he * refcounted_he_new_pvs(
struktura refcounted_he *nadrzędna,
const char *klucz, SV *wartość,
Flagi U32
)
refcounted_he_new_sv
Podobnie jak „refcounted_he_new_pvn”, ale pobiera skalar Perla zamiast ciągu/długości
para.
struktura refcounted_he * refcounted_he_new_sv(
struktura refcounted_he *nadrzędna,
SV *klucz, skrót U32, SV *wartość,
Flagi U32
)
IO Funkcje
start_glob
UWAGA: ta funkcja jest eksperymentalna i może ulec zmianie lub zostać usunięta bez powiadomienia.
Funkcja wywoływana przez „do_readline” w celu odrodzenia globu (lub wykonania globu wewnątrz Perla
VMS). Ten kod był kiedyś wbudowany, ale teraz Perl używa „File::Glob” tego globu
starter jest używany tylko przez miniperl podczas procesu kompilacji. Odsunięcie go zmniejsza
pp_hot.c; zmniejszanie pp_hot.c pomaga przyspieszyć Perla.
PerlIO* start_glob(SV *tmpglob, IO *io)
Lexer Interfejs
sprawdź_proto
UWAGA: ta funkcja jest eksperymentalna i może ulec zmianie lub zostać usunięta bez powiadomienia.
Ta funkcja sprawdza składnię prototypu „proto”. Jeśli „ostrzegaj” jest
true, wszelkie niedozwolone znaki lub niedopasowane nawiasy wywołają nielegalneproto
ostrzeżenia, deklarując, że zostały wykryte w prototypie dla „nazwy”.
Zwracana wartość to „true”, jeśli jest to prawidłowy prototyp, i „false”, jeśli tak nie jest,
niezależnie od tego, czy „ostrzegaj” było „prawdą”, czy „fałszem”.
Zauważ, że „NULL” jest prawidłowym „proto” i zawsze zwróci „true”.
UWAGA: forma perl_ tej funkcji jest przestarzała.
bool valid_proto(SV *nazwa, SV *proto, bool ostrzeżenie)
Magiczny Funkcje
magic_clearhint
Wywoływane przez usunięcie z %^H, zapisuje klucz do „PL_compiling.cop_hints_hash”.
int magic_clearhint(SV* sv, MAGIA* mg)
magic_clearhints
Wywoływane przez wyczyszczenie %^H, resetuje „PL_compiling.cop_hints_hash”.
int magic_clearhints(SV* sv, MAGIC* mg)
magic_methcall
Wywołaj magiczną metodę (np. FETCH).
„sv” i „mg” to rzecz związana i magia krawata.
„meth” to nazwa metody do wywołania.
„argc” to liczba argumentów (oprócz $self), które należy przekazać do metody.
„Flagi” mogą być:
G_DISCARD wywołuje metodę z flagą G_DISCARD i tego nie robi
zwrócić wartość
G_UNDEF_FILL wypełnij stos wskaźnikami argc do
PL_sv_undef
Same argumenty są dowolnymi wartościami następującymi po argumencie „flagi”.
Zwraca wartość SV (jeśli istnieje) zwróconą przez metodę lub wartość NULL w przypadku niepowodzenia.
SV* magic_methcall(SV *sv, const MAGIC *mg,
SV *met, flagi U32, U32 argc,
...)
magic_sethint
Wywoływane przez sklep do %^H, rejestruje parę klucz/wartość do
„PL_compiling.cop_hints_hash”. Zakłada się, że wskazówki niczego nie przechowują
to wymagałoby głębokiej kopii. Może powinniśmy ostrzec, jeśli znajdziemy odniesienie.
int magic_sethint(SV* sv, MAGIA* mg)
mg_localize
Skopiuj część magii z istniejącego SV do nowej zlokalizowanej wersji tego SV.
Magia kontenera (np. %ENV, 1 $, remis) zostaje skopiowana, magia wartości nie (np. skażenie,
poz.).
Jeśli setmagic ma wartość false, wówczas na nowym (pustym) SV nie zostanie wywołana żadna set magic. Ten
zazwyczaj oznacza, że wkrótce nastąpi przypisanie (np. „lokalny $x = $y”) i tyle
poradzi sobie z magią.
void mg_localize(SV* sv, SV* nsv, bool setmagic)
Różne Funkcje
free_c_backtrace
Cofa przydział śladu otrzymanego z get_c_bracktrace.
void free_c_backtrace(Perl_c_backtrace* bt)
get_c_backtrace
Zbiera ślad śladu (inaczej „stacktrace”) do pojedynczego liniowego bufora z mallokacją,
który rozmówca musi Perl_free_c_backtrace().
Skanuje klatki wstecz według głębokości + pomiń, a następnie opuszcza przeskok do środka i wraca do
większość klatek głębinowych.
Perl_c_backtrace* get_c_backtrace(int maks_głębokość,
int pomiń)
MRO Funkcje
mro_get_linear_isa_dfs
Zwraca linearyzację przeszukiwania w głąb @ISA danej skrytki. Powrót
wartość jest AV* tylko do odczytu. „poziom” powinien wynosić 0 (jest używany wewnętrznie w this
rekurencja funkcji).
Jeśli planujesz przechowywać, odpowiadasz za „SvREFCNT_inc()” wartości zwracanej
go w dowolnym miejscu na stałe (w przeciwnym razie może zostać usunięty spod ciebie
następnym razem, gdy pamięć podręczna zostanie unieważniona).
AV* mro_get_linear_isa_dfs (skrytka HV*, poziom U32)
mro_isa_changed_in
Podejmuje niezbędne kroki (głównie unieważnienie pamięci podręcznej), gdy @ISA danego
pakiet uległ zmianie. Przywoływany za pomocą magii „setisa”, nie powinien wymagać inwokacji
bezpośrednio.
void mro_isa_changed_in (skrytka HV*)
mro_package_moved
Wywołaj tę funkcję, aby zasygnalizować skrytce, że została przypisana do innego miejsca
w hierarchii skrytek. „skrytka” to przypisana skrytka. „oldstash”
to skrytka, którą zastępuje, jeśli taka istnieje. „gv” to kula, która faktycznie istnieje
przypisane do.
Można to również wywołać z pierwszym argumentem o wartości null, aby wskazać, że ma to „oldstash”.
został usunięty.
Ta funkcja unieważnia pamięć podręczną isa w starej skrytce, we wszystkich zagnieżdżonych podpakietach
wewnątrz niego i na podklasach wszystkich, łącznie z nieistniejącymi pakietami
które mają odpowiednie wpisy w „skrytce”.
Ustawia także efektywne nazwy („HvENAME”) dla wszystkich skrytek, jeśli to konieczne.
Jeśli „gv” jest obecne i nie ma go w tablicy symboli, wówczas ta funkcja jest po prostu dostępna
zwroty. To zaznaczenie zostanie pominięte, jeśli „flagi i 1”.
void mro_package_moved(HV * stała skrytka,
HV * const oldstash,
stała GV * stała GV,
flagi U32)
Optree Manipulacja Funkcje
finalize_optree
Ta funkcja kończy optree. Należy wywołać bezpośrednio po zakończeniu
optree jest zbudowany. Wykonuje dodatkowe sprawdzenie, którego nie można wykonać w pliku
normalne funkcje ck_xxx i sprawiają, że drzewo jest bezpieczne dla wątków.
void finalize_optree(OP* o)
Podkładka Dane Struktury
CX_CURPAD_ZAPISZ
Zapisz bieżący pad w podanej strukturze bloku kontekstowego.
void CX_CURPAD_SAVE (kontekst struktury)
CX_CURPAD_SV
Uzyskaj dostęp do SV w przesunięciu po w zapisanym bieżącym bloku w danym bloku kontekstowym
struktura (może być użyta jako wartość).
SV * CX_CURPAD_SV (kontekst struktury, PADOFFSET po)
Nazwa użytkownikaIsOUR
Czy jest to „nasza” zmienna.
bool NazwaPanaIsOUR(NAZWAPADATA pn)
Nazwa użytkownikaIsSTATE
Czy jest to zmienna „stanu”.
bool PadnameIsSTATE(PADNAME pn)
Nazwa użytkownikaOURSTASH
Skrytka, w której zadeklarowano tę „naszą” zmienną.
HV * Nazwa_podstawowaOURSTASH()
Nazwa użytkownikaOUTER
Określa, czy ten wpis należy do podkładki zewnętrznej. Wpisy, dla których to prawda, to
często określane jako „fałszywe”.
bool PadnameOUTER(PADNAME pn)
NazwaTyp
Skrytka powiązana z wpisanym leksykiem. To zwraca skrót %Foo:: dla „my
Foo $bar”.
HV * TYP_nazwy(NAZWA_PAD)
PAD_BASE_SV
Pobierz wartość ze szczeliny „po” w podstawowym (DEPTH=1) padzie listy padów
SV * PAD_BASE_SV(lista padów PADLIST, PADOFFSET po)
PAD_CLONE_VARS
Sklonuj zmienne stanu powiązane z uruchamianiem i kompilowaniem padów.
void PAD_CLONE_VARS(Interpreter Perla *proto_perl,
parametr CLONE_PARAMS*)
PAD_COMPNAME_FLAGS
Zwróć flagi dla bieżącej nazwy konsoli kompilacyjnej w przesunięciu „po”. Zakłada, że
ważny wpis w szczelinie.
U32 PAD_COMPNAME_FLAGS(PADOFFSET po)
PAD_COMPNAME_GEN
Numer generacji nazwy w przesunięciu „po” w bieżącym bloku kompilacyjnym
(lwartość). Pamiętaj, że w tym celu zostaje przejęty program „SvUVX”.
STRLEN PAD_COMPNAME_GEN(PADOFFSET po)
PAD_COMPNAME_GEN_set
Ustawia numer generacji nazwy w przesunięciu „po” w bieżącej podkładce głosowej
(lwartość) na „gen”. Pamiętaj, że w tym celu zostaje przejęty plik „SvUV_set”.
STRLEN PAD_COMPNAME_GEN_set(PADOFFSET po, int gen)
PAD_COMPNAME_OURSTASH
Zwróć skrytkę powiązaną z „naszą” zmienną. Zakłada się, że wpis w szczelinie to a
ważny „nasz” leksyk.
HV * PAD_COMPNAME_OURSTASH(PADOFFSET po)
PAD_COMPNAME_PV
Zwróć nazwę bieżącego pola kompilacyjnego w przesunięciu „po”. Zakłada, że jest ważny
wejście do szczeliny.
znak * PAD_COMPNAME_PV(PADOFFSET po)
PAD_COMPNAME_TYPE
Zwróć typ (skrytkę) bieżącej nazwy konsoli kompilacyjnej w przesunięciu „po”. Musi być
ważna nazwa. Zwraca wartość null, jeśli nie została wpisana.
HV * PAD_COMPNAME_TYPE(PADOFFSET po)
PAD_RESTORE_LOCAL
Przywróć stary pad zapisany w zmiennej lokalnej opad przez PAD_ZAPISZ_LOKAL()
void PAD_RESTORE_LOCAL(PAD *opad)
PAD_SAVE_LOCAL
Zapisz bieżący pad do zmiennej lokalnej opad, a następnie zrównaj bieżący pad
do npada
void PAD_SAVE_LOCAL(PAD *opad, PAD *npad)
PAD_SAVE_SETNULLPAD
Zapisz bieżący pad, a następnie ustaw go na null.
unieważnij PAD_SAVE_SETNULLPAD()
PAD_SETSV
Ustaw szczelinę w przesunięciu „po” w bieżącym padzie na „sv”
SV * PAD_SETSV(PADOFFSET po, SV* sv)
PAD_SET_CUR
Ustaw bieżący pad na pad „n” na liście padów, zapisując poprzedni bieżący pad.
Uwaga: obecnie to makro rozwija się do łańcucha zbyt długiego dla niektórych kompilatorów, więc tak jest
najlepiej go zastąpić
ZAPISZKOMPPAD();
PAD_SET_CUR_NOSAVE(lista padów,n);
void PAD_SET_CUR(lista PADLIST, I32 n)
PAD_SET_CUR_NOSAVE
jak PAD_SET_CUR, ale bez zapisu
void PAD_SET_CUR_NOSAVE(Lista padów PADLIST, I32 n)
PAD_SV Pobiera wartość z offsetu „po” w bieżącym padzie
SV * PAD_SV(PADOFFSET po)
PAD_SVl Lekka i wartościowa wersja "PAD_SV". Pobierz lub ustaw wartość przy przesunięciu „po”
w bieżącym panelu. W przeciwieństwie do „PAD_SV” nie drukuje diagnostyki z -DX. Dla
do użytku wewnętrznego.
SV * PAD_SVl(PADOFFSET po)
ZAPISZKASUJV
Wyczyść wskazaną wartość pad przy wyjściu z zakresu. (tzn. akcja wykonywalna „my”)
nieważne SAVECLEARSV(SV **svp)
ZAPISZKOMPPAD
zapisz PL_comppad i PL_curpad
unieważnij SAVECOMPPAD()
SAVEPADSV
Zapisz miejsce na pad (używane do przywracania po iteracji)
XXX DAPM rozsądniej byłoby ustawić argument na PADOFFSET
void SAVEPADSV(PADOFFSET po)
Dla tłumacza Zmienne
PL_DBpojedynczy
Kiedy Perl jest uruchomiony w trybie debugowania, z plikiem -d przełącznik, ten SV jest wartością logiczną, która
wskazuje, czy subwoofery są przełączane jednoetapowo. Pojedynczy krok odbywa się automatycznie
włączany po każdym kroku. To jest zmienna C, która odpowiada zmiennej Perla
$DB::pojedyncza zmienna. Zobacz „PL_DBsub”.
SV * PL_DBpojedynczy
PL_DBsub
Kiedy Perl jest uruchomiony w trybie debugowania, z plikiem -d przełącznika, ten GV zawiera SV
który przechowuje nazwę debugowanego subwoofera. To jest zmienna C, która
odpowiada zmiennej $DB::sub Perla. Zobacz „PL_DBsingle”.
GV * PL_DBsub
PL_DBślad
Zmienna śledzenia używana, gdy Perl jest uruchamiany w trybie debugowania, z rozszerzeniem -d przełącznik. Ten
jest zmienną C, która odpowiada zmiennej $DB::trace Perla. Widzieć
„PL_DBpojedynczy”.
SV * PL_DBśledzenie
PL_dowarn
Zmienna C, która odpowiada zmiennej ostrzegawczej $^W Perla.
bool PL_downarn
PL_last_in_gv
GV, który był ostatnio używany do operacji wprowadzania uchwytu pliku. („ ")
GV* PL_ostatni_w_gv
PL_ofsgv
Glob zawierający separator pola wyjściowego - „*” w przestrzeni Perla.
GV* PL_ofsgv
PL_rs Separator rekordów wejściowych - $/ w przestrzeni Perla.
SV* PL_rs
Stos Manipulacja Makra
djSP Zadeklaruj po prostu „SP”. W rzeczywistości jest to identyczne z „dSP” i deklaruje kopię lokalną
wskaźnika stosu Perla, dostępnego poprzez makro „SP”. Patrz „SP”. (Dostępne dla
wsteczna zgodność kodu źródłowego ze starym modelem wątków (Perl 5.005).)
djSP;
LVRET Prawda, jeśli ta operacja będzie wartością zwracaną przez podprogram o wartości
SV Manipulacja Funkcje
SV (lub AV, HV itp.) jest przydzielany w dwóch częściach: nagłówku (struct sv, av, hv...)
zawiera informacje o typie i liczbie odwołań, a w przypadku wielu typów wskaźnik do treści
(struct xrv, xpv, xpviv...), który zawiera pola specyficzne dla każdego typu. Niektóre typy
przechowuj wszystko, czego potrzebują, w głowie, więc nie miej ciała.
We wszystkich konfiguracjach z wyjątkiem najbardziej paranoicznych pamięci (np. PURIFY) głowy i ciała są
przydzielane z aren, które domyślnie obejmują około 4K fragmentów pamięci
aż do N głów lub ciał. Ciała Sv są przydzielane według typu sv, co gwarantuje rozmiar
spójność potrzebna do bezpiecznej alokacji z tablic.
Dla głów SV pierwsze miejsce na każdej arenie jest zarezerwowane i zawiera łącze do następnego
arenę, trochę flag i informację o liczbie miejsc. Wąż przechodzi przez każdy łańcuch areny
połączona lista bezpłatnych przedmiotów; kiedy ta stanie się pusta, przydzielana jest dodatkowa arena i
podzielone na N elementów, które są wplecione w darmową listę.
Organy SV są podobne, ale domyślnie używają zestawów areny, które oddzielają łącze i
informacje z samej areny i odzyskaj pierwsze miejsce na arenie. Ciała SV są dalej
opisane później.
Z arenami powiązane są następujące zmienne globalne:
PL_sv_arenaroot wskaźnik do listy aren SV
PL_sv_root wskaźnik do listy wolnych struktur SV
PL_body_arenas szef połączonej listy aren ciała
PL_body_roots[] tablica wskaźników do listy wolnych ciał typu svtype
tablice są indeksowane według potrzebnego typu sv
Kilka specjalnych głów SV nie jest przydzielanych z areny, ale zamiast tego są tworzone bezpośrednio
w strukturze interpretera, np. PL_sv_undef. Rozmiar aren można zmieniać z poziomu
domyślnie, ustawiając odpowiednio PERL_ARENA_SIZE w czasie kompilacji.
Arena SV służy drugorzędnemu celowi, jakim jest umożliwienie lokalizacji wciąż żywych SV i
zniszczone podczas końcowego sprzątania.
Na najniższym poziomie makra nowy_SV() i del_SV() chwyć i uwolnij głowę SV. (Jeśli
debugowanie za pomocą -DD, del_SV() wywołuje funkcję S_del_sv() aby zwrócić SV za darmo
lista ze sprawdzaniem błędów.) nowy_SV() Połączenia więcej_sv() / sv_add_arena() dodać dodatkową arenę
jeśli bezpłatna lista jest pusta. SV na wolnej liście mają pole SvTYPE ustawione na wszystkie.
W momencie ostatniego sprzątania, sv_free_arenas() dzwoni od perl_destruct() do
fizycznie zwolnij wszystkie areny przydzielone od początku działania interpretera.
Funkcja odwiedzać() skanuje listę aren SV i wywołuje określoną funkcję dla każdego SV
znajduje ten, który jest nadal aktywny - tj. ma SvTYPE inny niż wszystkie jedynki i niezerowy
SvREFCNT. odwiedzać() jest używany przez następujące funkcje (określone jako [funkcja wywołująca
odwiedzać()] / [funkcja wywoływana przez odwiedzać() dla każdego SV]):
sv_report_used() / do_report_used()
zrzuć wszystkie pozostałe SV (pomoc w debugowaniu)
sv_clean_objs() / do_clean_objs(), do_clean_named_objs(),
do_clean_named_io_objs(), do_curse()
Spróbuj uwolnić wszystkie obiekty wskazane przez pojazdy kempingowe,
spróbuj zrobić to samo dla wszystkich obiektów pośrednich
ectly, do którego odwołują się również typeglobs, i
następnie wykonaj ostatnie przeszukanie, przeklinając każdy
obiekty, które pozostały. Zadzwoniłem raz z
perl_destruct(), przed wywołaniem sv_clean_all()
poniżej.
sv_clean_all() / wykonaj_clean_all()
SvREFCNT_dec(sv) ewentualnie każdy pozostały SV
wyzwalanie sv_free(). Ustawia również
Flaga SVf_BREAK na SV wskazująca, że
refcnt został sztucznie obniżony i dlatego
powstrzymywanie sv_free() przed dawaniem fałszywych ostrzeżeń
o SV, które nieoczekiwanie mają refcnt
zera. wywoływany wielokrotnie z perl_destruct()
dopóki nie pozostaną żadne SV.
SvTHINKFIRST
Szybkie sprawdzenie flagi, aby sprawdzić, czy sv powinien zostać przekazany do sv_force_normal
„obniżona wersja” przed bezpośrednią modyfikacją SvIVX lub SvPVX.
Na przykład, jeśli twój skalar jest odniesieniem i chcesz zmodyfikować gniazdo SvIVX,
nie możesz po prostu zrobić SvROK_off, ponieważ spowoduje to wyciek odniesienia.
Jest to używane wewnętrznie przez różne funkcje modyfikujące sv, takie jak sv_setsv,
sv_setiv i sv_pvn_force.
Jednym z przypadków, w którym to nie jest obsługiwane, jest gv bez zestawu SvFAKE. Po
if (SvTHINKFIRST(gv)) sv_force_normal(gv);
to nadal będzie gv.
SvTHINKFIRST czasami generuje fałszywe alarmy. W takich przypadkach sv_force_normal
nic nie robi.
U32 SvTHINKFIRST(SV *sv)
sv_add_arena
Mając fragment pamięci, połącz go z nagłówkiem listy aren i podziel
na listę bezpłatnych SV.
void sv_add_arena(char *const ptr, const rozmiar U32,
flagi const U32)
sv_clean_all
Zmniejsz refcnt każdego pozostałego SV, prawdopodobnie uruchamiając czyszczenie. Ten
funkcja może wymagać wielokrotnego wywoływania, aby zwolnić złożone SV
hierarchie autoreferencyjne.
I32 sv_clean_all()
sv_clean_objs
Spróbuj zniszczyć wszystkie obiekty, które nie zostały jeszcze uwolnione.
unieważnij sv_clean_objs()
sv_free_arenas
Zwolnij pamięć używaną przez wszystkie areny. Należy pamiętać, że wszystkie poszczególne głowy SV
a ciała na arenach musiały już zostać uwolnione.
unieważnij sv_free_arenas()
Korpus SV Przydział
sv_2num UWAGA: ta funkcja ma charakter eksperymentalny i może ulec zmianie lub zostać usunięta bez powiadomienia.
Zwróć SV z wartością liczbową źródłowego SV, wykonując wszelkie niezbędne czynności
konwersja odniesienia lub przeciążenia. Oczekuje się, że osoba dzwoniąca obsłuży połączenie
już magia.
SV* sv_2num(SV *stała wartość)
sv_kopiapv
Kopiuje uproszczoną reprezentację źródłowego SV do docelowego SV.
Automatycznie wykonuje wszelkie niezbędne mg_get i wymuszanie wartości numerycznych
smyczki. Gwarantowane zachowanie flagi UTF8 nawet w przypadku przeciążonych obiektów. Podobny
w naturze do sv_2pv[_flags], ale działa bezpośrednio na SV, a nie tylko
strunowy. Najczęściej używa sv_2pv_flags do wykonania swojej pracy, z wyjątkiem sytuacji, gdy spowodowałoby to utratę
UTF-8'ness PV.
void sv_copypv(SV *const dsv, SV *const ssv)
sv_ref Zwraca SV opisujący, do czego odnosi się przekazany SV.
SV* sv_ref(SV *dst, const SV *const sv,
stała int ob)
Unicode Obsługa klienta
find_uninit_var
UWAGA: ta funkcja jest eksperymentalna i może ulec zmianie lub zostać usunięta bez powiadomienia.
Znajdź nazwę niezdefiniowanej zmiennej (jeśli istnieje), która spowodowała wydanie operatora
ostrzeżenie „Użycie niezainicjowanej wartości”. Jeśli dopasowanie jest prawdziwe, zwróć nazwę tylko wtedy, gdy
jego wartość odpowiada uninit_sv. Z grubsza mówiąc, jeśli operator jednoargumentowy (taki jak
OP_COS) generuje ostrzeżenie, a następnie podążanie za bezpośrednim dzieckiem operacji może zakończyć się sukcesem
OP_PADSV lub OP_GV, który podaje nazwę niezdefiniowanej zmiennej. Na inne
ręcznie, przy OP_ADD są dwie gałęzie do naśladowania, więc drukujemy tylko zmienną
nazwę, jeśli otrzymamy dokładne dopasowanie. desc_p wskazuje na wskaźnik ciągu zawierający
opis op. W razie potrzeby może to zostać zaktualizowane.
Imię jest zwracane jako śmiertelne SV.
Zakłada się, że PL_op jest operacją, która pierwotnie spowodowała błąd, i to
PL_comppad/PL_curpad wskazuje aktualnie wykonywany pad.
SV* find_uninit_var(const OP *const obase,
stała SV *stała uninit_sv,
dopasowanie bool, const char **desc_p)
jednostka_raportu
Wydrukuj odpowiednie ostrzeżenie „Użycie niezainicjowanej zmiennej”.
nieważny raport_uninit(stała SV *uninit_sv)
Nieudokumentowany Funkcje
Następujące funkcje są obecnie nieudokumentowane. Jeśli użyjesz jednego z nich, możesz chcieć
rozważyć utworzenie i złożenie do niego dokumentacji.
PerlIO_restore_errno
PerlIO_save_errno
Slab_Alloc
Płyta_wolna
Płyta_do_ro
Płyta_do_rw
_add_range_to_invlist
_core_swash_init
_get_kodowanie
_get_swash_invlist
_invlist_array_init
_invlist_contains_cp
_invlist_treść
_invlist_dump
_invlist_intersection
_invlist_intersection_maybe_complement_2nd
_invlist_invert
_invlist_len
_invlist_populate_swatch
_invlist_search
_invlist_subtract
_invlist_union
_invlist_union_maybe_complement_2nd
_load_PL_utf8_foldclosures
_nowa_lista_inv
_setup_canned_invlist
_swash_inwersja_hash
_swash_to_invlist
_to_fold_latin1
_to_upper_title_latin1
_warn_problematic_locale
aprzypisz_common_vars
add_cp_to_invlist
alloc_maybe_populate_EXACT
przydział
amagic_is_enabled
zastosować
av_extend_guts
av_reify
powiązanie_dopasowanie
boot_core_PerlIO
boot_core_UNIVERSAL
boot_core_mro
gdy
check_utf8_print
ck_anoncode
ck_backtick
ck_bitop
ck_cmp
ck_concat
ck_zdefiniowany
ck_delete
ck_każdy
ck_entersub_args_core
ck_eof
ck_eval
ck_exec
ck_istnieje
ck_ftst
ck_zabawa
ck_glob
ck_grep
indeks_ck
ck_dołącz
długość_ck
ck_lfun
ck_listiob
ck_match
metoda ck_
ck_null
ck_otwarte
ck_prototyp
ck_readline
ck_refprzypisanie
ck_repeat
ck_require
ck_powrót
ck_rfun
ck_rvconst
ck_przypisanie
ck_select
ck_shift
ck_smartmatch
ck_sort
ck_spair
ck_split
ck_stringify
ck_subr
ck_substr
ck_svconst
ck_tell
ck_trunc
najbliższy_policjant
oblicz_DOKŁADNIE
coresub_op
utwórz_eval_scope
croak_no_mem
croak_popstack
current_re_engine
niestandardowe_op_get_field
cv_ckproto_len_flags
cv_clone_into
cv_const_sv_or_av
cv_undef_flags
cvgv_from_hek
cvgv_set
cvstash_set
deb_stack_all
defelem_cel
usuń_eval_scope
die_unwind
do_aexec
do_aexec5
do_eof
do_exec
do_exec3
do_execfree
do_ipcctl
do_ipcget
do_msgrcv
do_msgsnd
do_ncmp
do_open6
do_open_raw
wykonaj_drukuj
do_readline
szukać
do_semop
do_shmio
do_sysseek
Powiedz
zrobić_trans
do_vecget
do_vecset
do_vop
plik do pliku
drand48_init_r
drand48_r
dump_all_perl
dump_packsubs_perl
dump_sub_perl
dump_sv_child
emuluj_cop_io
funkcja_jest_włączona
znajdź_cv_leksykalne
znajdź_runcv_gdzie
find_rundefsv2
znajdź_skrypt
free_tied_hv_pool
get_and_check_backslash_N_name
get_db_sub
get_debug_opts
get_hash_seed
get_invlist_iter_addr
get_invlist_offset_addr
get_invlist_previous_index_addr
get_no_modify
get_opargs
get_re_arg
getenv_len
grok_atoUV
grok_bslash_x
gv_fetchmeth_internal
gv_override
gv_setref
gv_stashpvn_internal
gv_stashsvpvn_cached
hfree_next_entry
hv_backreferences_p
hv_kill_backrefs
hv_placeholders_p
hv_undef_flags
init_argv_symbols
stałe_początkowe
init_dbargs
init_debugger
odwracać
invlist_array
invlist_clone
invlist_najwyższa
invlist_is_iterating
invlist_iterfinish
invlist_iterinit
invlist_max
invlist_previous_index
invlist_set_len
invlist_set_previous_index
invlist_trim
io_zamknij
is_utf8_common
isinfnansv
może
keyword
słowo kluczowe_plugin_standard
podstęp
zlokalizować
magic_clear_all_env
magic_cleararylen_p
magic_clearenv
magic_clearisa
magic_clearpack
magic_clearsig
magic_copycallchecker
pakiet magiczny_istnieje
magic_freearylen_p
magic_freeovrld
magia_get
magic_getarylen
magic_getdebugvar
magic_getdefelem
magic_getnkeys
magic_getpack
magic_getpos
magic_getsig
magic_getsubstr
magic_gettaint
magic_getuvar
magic_getvec
magic_killbackrefs
magic_nextpack
magic_regdata_cnt
magic_regdatum_get
magic_regdatum_set
magic_skalarpack
magiczny_zestaw
magic_set_all_env
magic_setarylen
magic_setcollxfrm
magic_setdbline
magic_setdebugvar
magic_setdefelem
magic_setenv
magic_setisa
magic_setlvref
magic_setmglob
magic_setnkeys
magic_setpack
magic_setpos
magic_setregexp
magic_setsig
magic_setsubstr
magic_settaint
magic_setutf8
magic_setuvar
magic_setvec
magic_sizepack
magic_wipepack
malloc_dobry_rozmiar
malloced_size
mem_collxfrm
mg_find_mglob
tryb_z_dyscypliny
więcej_ciał
mro_meta_dup
mro_meta_init
multideref_stringify
moje_atrybuty
my_clearenv
moje_lstat_flagi
moje_stat_flagi
mój_unexec
nowyATTRSUB_x
nowyGP
nowyMETHOP_wewnętrzny
nowośćSTUB
nowySVavdefelem
nowyXS_deffile
newXS_len_flags
nowe_warnings_bitfield
następnyargv
noperl_die
upsAV
UpsHV
op_clear
op_integerize
op_lvalue_flags
op_refcnt_dec
op_refcnt_inc
op_relocate_sv
op_std_init
op_unscope
opmethod_schowek
opslab_force_free
opslab_free
opslab_free_nopad
pakiet
wersja_pakietu
pad_add_weakref
sklep z listą padów
nazwa_podstawowa_bezpłatna
padnamelist_free
parse_subsignature
parse_unicode_opts
wolny od parsera
parser_free_nexttoke_ops
ścieżka_jest_przeszukiwalna
ćwierkanie
pmruntime
populacja_isa
ptr_hash
qbłąd
re_op_compile
reg_named_buff
reg_named_buff_iter
reg_numbered_buff_fetch
reg_numbered_buff_length
reg_numbered_buff_store
reg_qr_pakiet
reg_skipcomment
reg_temp_copy
regularnie
regpposixcc
regprop
raport_zło_fh
raport_redefiniowany_cv
report_wrongway_fh
powtórz
rsignal_restore
rsygnał_zapisz
rxres_zapisz
ten sam_kierunek
zapisz_aliased_sv
zapisz_strlen
piły
skalarny
skalarna
set_caret_X
set_padlist
powinien_warn_nl
wzdychający
softref2xv
ssc_add_zakres
ssc_clear_locale
ssc_cp_and
ssc_przecięcie
ssc_union
sub_crush_głębokość
sv_add_backref
sv_buf_to_ro
sv_del_backref
sv_free2
sv_kill_backrefs
sv_len_utf8_nomg
sv_magicext_mglob
sv_mortalcopy_flags
sv_only_taint_gmagic
sv_or_pv_pos_u2b
sv_resetpvn
sv_setek
sv_setsv_cow
sv_unglob
metoda_wiązania
tmps_grow_p
tłumacz_substr_offsets
try_amagic_bin
try_amagic_un
wyłącz udostępnianie_hek
wykorzystać
nazwa_zmiennej
vivify_defelem
ożywić_ref
czekaj4pid
was_lvalue_sub
zegarek
win32_croak_not_implemented
napisz_do_stderr
xs_boot_epilog
xs_uścisk dłoni
yy błąd
yyyerror_pv
yyyerror_pvn
yylex
parse
yyunlex
AUTORSKI
System autodokumentacji został pierwotnie dodany do rdzenia Perla przez Benjamina Stuhla.
Dokumentację sporządza ktokolwiek, kto był na tyle miły, aby udokumentować swoje funkcje.
Korzystaj z perlintern online, korzystając z usług onworks.net