InggrisPerancisSpanyol

favorit OnWorks

perlintern - Online di Cloud

Jalankan perlintern di penyedia hosting gratis OnWorks melalui Ubuntu Online, Fedora Online, emulator online Windows, atau emulator online MAC OS

Ini adalah perintah perlintern yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS

PROGRAM:

NAMA


perlintern - dokumentasi otomatis dari fungsi Perl internal murni

DESKRIPSI


File ini adalah dokumentasi fungsi yang dibuat secara otomatis dalam juru bahasa Perl yang
didokumentasikan menggunakan format dokumentasi internal Perl tetapi tidak ditandai sebagai bagian dari
Perl API. Dengan kata lain, mereka adalah tidak untuk menggunakan in ekstensi!

Waktu kompilasi cakupan kait


BhkENTRY
CATATAN: fungsi ini bersifat eksperimental dan dapat berubah atau dihapus tanpa pemberitahuan.

Kembalikan entri dari struktur BHK. yang adalah token praprosesor yang menunjukkan
entri mana yang harus dikembalikan. Jika bendera yang sesuai tidak disetel, ini akan mengembalikan NULL.
Jenis nilai pengembalian tergantung pada entri mana yang Anda minta.

batal * BhkENTRY(BHK *hk, yang)

BhkFLAGS
CATATAN: fungsi ini bersifat eksperimental dan dapat berubah atau dihapus tanpa pemberitahuan.

Kembalikan bendera BHK.

BENDERA Bhk U32(BHK *hk)

PANGGILAN_BLOCK_HOOKS
CATATAN: fungsi ini bersifat eksperimental dan dapat berubah atau dihapus tanpa pemberitahuan.

Panggil semua kait blok terdaftar untuk mengetik yang. yang adalah pra-pemrosesan
token; tipe dari arg tergantung pada yang.

batal CALL_BLOCK_HOOKS(yang, arg)

Kustom Operator


inti_prototipe
Fungsi ini menetapkan prototipe dari fungsi inti bernama ke "sv", atau ke a
SV fana baru jika "sv" adalah NULL. Ini mengembalikan "sv" yang dimodifikasi, atau NULL jika intinya
fungsi tidak memiliki prototipe. "code" adalah kode yang dikembalikan oleh "keyword()". Itu harus
tidak sama dengan 0.

SV * core_prototype(SV *sv, const char *nama,
kode int konstan,
int * const opnum)

CV manipulasi Fungsi


docatch Periksa kasus 0 atau 3 dari cur_env.je_ret, hanya digunakan di dalam konteks eval.

0 digunakan sebagai melanjutkan di dalam eval,

3 digunakan untuk dadu yang ditangkap oleh evaluasi dalam - lanjutkan putaran dalam

Lihat cop.h: je_mustcatch, ketika disetel pada runlevel mana pun ke TRUE, berarti operasi evaluasi harus
buat jmpenv lokal untuk menangani perangkap pengecualian.

OP* tangkapan layar(OP *o)

CV referensi penting dan CvLUAR


CvLEMAH DILUAR
Setiap CV memiliki penunjuk, "CvOUTSIDE()", ke CV yang terlampir secara leksikal (jika ada).
Karena penunjuk ke subprototipe anonim disimpan di slot pad "&", itu adalah
mungkin untuk mendapatkan referensi melingkar, dengan orang tua menunjuk ke anak dan
dan sebaliknya. Untuk menghindari kebocoran memori berikutnya, kami tidak menambah referensi
jumlah CV yang ditunjukkan oleh "CvOUTSIDE" di satu tertentu contoh bahwa
induk memiliki slot pad "&" yang menunjuk kembali ke kita. Dalam hal ini, kami mengatur
Bendera "CvWEAKOUTSIDE" pada anak. Ini memungkinkan kita untuk menentukan di bawah apa
keadaan kita harus mengurangi penghitungan ulang orang tua saat membebaskan
anak.

Ada komplikasi lebih lanjut dengan subs anonim non-penutupan (yaitu yang
jangan merujuk ke leksikal apa pun di luar sub itu). Dalam hal ini, anonim
prototipe dibagikan daripada dikloning. Hal ini membawa konsekuensi bahwa
orang tua dapat dibebaskan selama masih ada anak yang aktif, mis

MULAI { $a = sub { eval '$x' } }

Dalam hal ini, BEGIN dibebaskan segera setelah eksekusi karena tidak ada
referensi aktif untuk itu: sub prototipe anon memiliki set "CvWEAKOUTSIDE" karena itu
bukan penutupan, dan $a menunjuk ke CV yang sama, jadi itu tidak berkontribusi pada BEGIN's
penghitungan ulang juga. Ketika $a dieksekusi, "eval '$x'" menyebabkan rantai
"CvOUTSIDE" harus diikuti, dan BEGIN yang dibebaskan diakses.

Untuk menghindari hal ini, setiap kali CV dan pad yang terkait dibebaskan, entri "&" apa pun di
pad secara eksplisit dihapus dari pad, dan jika refcount dari point-to
anon sub masih positif, maka "CvOUTSIDE" anak itu diatur untuk menunjuk ke nya
eyang. Ini hanya akan terjadi dalam satu kasus spesifik non-penutupan
prototipe anon yang memiliki satu atau lebih referensi aktif (seperti $a di atas).

Satu hal lain yang perlu dipertimbangkan adalah bahwa CV mungkin hanya tidak terdefinisi daripada
dibebaskan, misalnya "undef &foo". Dalam hal ini, refcount-nya mungkin tidak mencapai nol, tapi
kami masih menghapus padnya dan "CvROOT" dll. Karena berbagai anak mungkin masih
memiliki "CvOUTSIDE" mereka menunjuk ke CV yang tidak ditentukan ini, kami menyimpan "CvOUTSIDE" miliknya sendiri
untuk sementara, agar rantai lingkup leksikal tidak terputus. Sebagai contoh,
berikut ini harus mencetak 123:

$x saya = 123;
sub tmp { sub { eval '$x' } }
saya $a = tmp();
undef &tmp;
cetak $a->();

bool CvWEAKOUTSIDE(CV *cv)

Menanamkan Fungsi


cv_dump membuang isi CV

void cv_dump(CV *cv, const char *judul)

cv_forget_slab
Ketika CV memiliki jumlah referensi pada pelatnya (CvSLABBED), ia bertanggung jawab untuk:
memastikan itu dibebaskan. (Oleh karena itu, tidak ada dua CV yang harus memiliki referensi yang diandalkan
slab yang sama.) CV hanya perlu mereferensikan slab selama kompilasi. Sekali
itu dikompilasi dan dilampirkan CvROOT, itu telah menyelesaikan tugasnya, sehingga dapat melupakan
lempeng.

batalkan cv_forget_slab(CV *cv)

lakukan_dump_pad
Buang isi padlist

batalkan do_dump_pad (level I32, file PerlIO *,
PADLIST *daftar pad, int penuh)

padlist_dup
Duplikat pad.

PADLIST * padlist_dup(PADLIST *srcpad,
CLONE_PARAMS *param)

padnamelist_dup
Duplikat daftar nama pad.

PADNAMELIST * padnamelist_dup(PADNAMELIST *srcpad,
CLONE_PARAMS *param)

namapad_dup
Duplikat nama pad.

PADNAME * padname_dup(PADNAME *src, CLONE_PARAMS *param)

pad_alloc_name
Mengalokasikan tempat di pad yang sedang dikompilasi (melalui "pad_alloc" di perlapi) dan
kemudian menyimpan nama untuk entri itu. nama diadopsi dan menjadi entri nama; dia
harus sudah berisi string nama. typestash dan simpanan kita dan
Bendera "padadd_STATE" ditambahkan ke nama. Tidak ada pemrosesan lain dari
"pad_add_name_pvn" di perlapi selesai. Mengembalikan offset pad yang dialokasikan
slot.

PADOFFSET pad_alloc_name(PADNAME *nama, bendera U32,
HV *typestash, HV *ourstash)

pad_block_start
Perbarui variabel status kompilasi pad saat masuk ke blok baru.

batalkan pad_block_start (int penuh)

pad_check_dup
Periksa deklarasi duplikat: laporkan salah satu dari:

* a saya dalam lingkup saat ini dengan nama yang sama;
* sebuah kami (di mana saja di pad) dengan nama yang sama dan
simpanan yang sama dengan C

"is_our" menunjukkan bahwa nama yang akan diperiksa adalah deklarasi 'kami'.

void pad_check_dup(PADNAME *nama, bendera U32,
const HV * simpanan kami)

pad_findlex
Temukan leksikal bernama di mana saja dalam rantai bantalan bersarang. Tambahkan entri palsu di
bantalan bagian dalam jika ditemukan di bagian luar.

Mengembalikan offset di pad bawah lex atau lex palsu. cv adalah CV di
yang untuk memulai pencarian, dan seq adalah cop_seq saat ini untuk dicocokkan. Jika
peringatan benar, cetak peringatan yang sesuai. Out_* vars mengembalikan nilai, dan begitu
adalah pointer ke mana nilai yang dikembalikan harus disimpan. out_capture, jika bukan-
null, meminta agar contoh terdalam dari leksikal ditangkap; out_name adalah
atur ke nama pad yang paling cocok atau nama pad palsu; out_flags mengembalikan
flag biasanya terkait dengan bidang PARENT_FAKELEX_FLAGS dari nama pad palsu.

Perhatikan bahwa pad_findlex() bersifat rekursif; itu berulang di rantai CV, lalu datang
mundur, menambahkan entri palsu saat berjalan. Harus seperti ini karena palsu
nama dalam prototipe anon harus disimpan di xlow indeks ke pad induk.

PADOFFSET pad_findlex(const char *namepv,
STRLEN namelen, bendera U32,
const CV* cv, U32 seq, int warning,
SV** keluar_capture,
PADNAME** nama_luar,
ke dalam *bendera_keluar)

pad_fixup_inner_anons
Untuk CV segera di pad, ubah CvOUTSIDE dari CV itu dari old_cv ke new_cv jika
diperlukan. Dibutuhkan ketika CV yang baru dikompilasi harus dipindahkan ke CV yang sudah ada sebelumnya
struktur.

void pad_fixup_inner_anons(PADLIST *daftar pad,
CV *cv_lama, CV *cv_baru)

pad_gratis
Bebaskan SV pada offset po di pad saat ini.

batalkan pad_free(PADOFFSET po)

pad_leavemy
Pembersihan di akhir cakupan selama kompilasi: atur nomor seq maks untuk leksikal di
lingkup ini dan memperingatkan setiap leksikal yang tidak pernah diperkenalkan.

batalkan pad_leavemy()

pad_push
Dorong bingkai bantalan baru ke daftar bantalan, kecuali jika sudah ada bantalan pada kedalaman ini,
dalam hal ini jangan repot-repot membuat yang baru. Kemudian berikan pad baru sebuah @_ in
slot nol.

void pad_push(PADLIST *daftar pad, kedalaman int)

pad_reset
Tandai semua sementara saat ini untuk digunakan kembali

batalkan pad_reset()

pad_swipe
Abaikan tmp di pad saat ini di offset po dan ganti dengan yang baru.

void pad_swipe(PADOFFSET po, bool menyesuaikan kembali)

GV Fungsi


gv_try_downgrade
CATATAN: fungsi ini bersifat eksperimental dan dapat berubah atau dihapus tanpa pemberitahuan.

Jika typeglob "gv" dapat diekspresikan lebih ringkas, dengan memiliki sesuatu yang lain
daripada GV asli di tempatnya di simpanan, ganti dengan bentuk yang dioptimalkan.
Persyaratan dasar untuk ini adalah bahwa "gv" adalah typeglob nyata, sudah cukup
biasa, dan hanya direferensikan dari paketnya. Fungsi ini dimaksudkan untuk menjadi
digunakan ketika GV telah dicari sebagian untuk melihat apa yang ada di sana, menyebabkan
upgrade, tapi berdasarkan apa yang ditemukan ternyata GV asli bukan
diperlukan setelah semua.

Jika "gv" adalah typeglob yang benar-benar kosong, itu akan dihapus dari simpanan.

Jika "gv" adalah typeglob yang hanya berisi sub konstanta biasa yang cukup,
typeglob diganti dengan placeholder referensi skalar yang lebih kompak
mewakili hal yang sama.

batalkan gv_try_downgrade(GV* gv)

Hash manipulasi Fungsi


hv_ename_add
Menambahkan nama ke daftar internal nama efektif simpanan. Lihat "hv_ename_delete".

Ini dipanggil ketika simpanan ditugaskan ke lokasi baru di tabel simbol.

void hv_ename_add(HV *hv, const char *nama, U32 len,
bendera U32)

hv_ename_delete
Menghapus nama dari daftar nama efektif internal simpanan. Jika ini adalah
nama yang dikembalikan oleh "HvENAME", maka nama lain dalam daftar akan menggantikannya
("HvENAME" akan menggunakannya).

Ini dipanggil ketika simpanan dihapus dari tabel simbol.

void hv_ename_delete(HV *hv, const char *nama,
U32 len, bendera U32)

refcounted_he_chain_2hv
Menghasilkan dan mengembalikan "HV *" yang mewakili konten dari "refcounted_he"
rantai. bendera saat ini tidak digunakan dan harus nol.

HV * refcounted_he_chain_2hv(
const struct refcounted_he *c, flag U32
)

refcounted_he_fetch_pv
Seperti "refcounted_he_fetch_pvn", tetapi mengambil string yang diakhiri nul alih-alih a
pasangan tali/panjang.

SV * direfcount_he_fetch_pv(
const struct refcounted_he *rantai,
const char *key, hash U32, flag U32
)

refcounted_he_fetch_pvn
Cari di sepanjang rantai "refcounted_he" untuk entri dengan kunci yang ditentukan oleh keypv
dan keylen. Jika bendera memiliki bit "REFCOUNTED_HE_KEY_UTF8", oktet kuncinya adalah
ditafsirkan sebagai UTF-8, jika tidak ditafsirkan sebagai Latin-1. hash adalah
hash string kunci yang telah dihitung sebelumnya, atau nol jika belum dihitung sebelumnya.
Mengembalikan skalar fana yang mewakili nilai yang terkait dengan kunci, atau
&PL_sv_placeholder jika tidak ada nilai yang terkait dengan kunci.

SV * direfcount_he_fetch_pvn(
const struct refcounted_he *rantai,
const char *keypv, STRLEN keylen, hash U32,
bendera U32
)

refcounted_he_fetch_pvs
Seperti "refcounted_he_fetch_pvn", tetapi mengambil string literal alih-alih a
pasangan string/panjang, dan tidak ada hash yang dihitung sebelumnya.

SV * dihitung ulang_he_fetch_pvs(
const struct refcounted_he *rantai,
const char *key, bendera U32
)

refcounted_he_fetch_sv
Seperti "refcounted_he_fetch_pvn", tetapi menggunakan skalar Perl alih-alih string/panjang
pair.

SV * direfcounted_he_fetch_sv(
const struct refcounted_he *rantai, SV *kunci,
hash U32, bendera U32
)

dihitung ulang_dia_gratis
Mengurangi jumlah referensi dari "refcounted_he" sebanyak satu. Jika referensi
count mencapai nol memori struktur dibebaskan, yang (secara rekursif) menyebabkan a
pengurangan jumlah referensi induknya "refcounted_he". Aman untuk lulus
pointer nol ke fungsi ini: tidak ada tindakan yang terjadi dalam kasus ini.

batal refcounted_he_free(struct refcounted_he *he)

refcounted_he_inc
Tingkatkan jumlah referensi dari "refcounted_he". penunjuk ke
"refcounted_he" juga dikembalikan. Aman untuk memberikan pointer nol ke ini
fungsi: tidak ada tindakan yang terjadi dan pointer nol dikembalikan.

struct refcounted_he * refcounted_he_inc(
struct refcounted_he *he
)

refcounted_he_new_pv
Seperti "refcounted_he_new_pvn", tetapi mengambil string yang diakhiri nul alih-alih a
pasangan tali/panjang.

struct refcounted_he * refcounted_he_new_pv(
struct refcounted_he *induk,
const char * kunci, hash U32,
SV *nilai, bendera U32
)

refcounted_he_new_pvn
Membuat "refcounted_he" baru. Ini terdiri dari pasangan kunci/nilai tunggal dan a
referensi ke rantai "refcounted_he" yang ada (yang mungkin kosong), dan dengan demikian
membentuk rantai yang lebih panjang. Saat menggunakan rantai yang lebih panjang, pasangan kunci/nilai baru mengambil
didahulukan atas entri apa pun untuk kunci yang sama lebih jauh di sepanjang rantai.

Kunci baru ditentukan oleh keypv dan keylen. Jika bendera memiliki
Set bit "REFCOUNTED_HE_KEY_UTF8", oktet kunci ditafsirkan sebagai UTF-8,
jika tidak, mereka ditafsirkan sebagai Latin-1. hash adalah hash kunci yang telah dihitung sebelumnya
string, atau nol jika belum dihitung sebelumnya.

nilai adalah nilai skalar yang akan disimpan untuk kunci ini. nilai disalin oleh ini
fungsi, yang dengan demikian tidak mengambil kepemilikan referensi apa pun padanya, dan kemudian
perubahan skalar tidak akan tercermin dalam nilai yang terlihat di
"refcounted_he". Jenis skalar yang kompleks tidak akan disimpan dengan referensial
integritas, tetapi akan dipaksa untuk string. nilai dapat berupa null atau
&PL_sv_placeholder untuk menunjukkan bahwa tidak ada nilai yang dikaitkan dengan kunci;
ini, seperti halnya nilai bukan nol, lebih diutamakan daripada keberadaan nilai
untuk kunci lebih jauh di sepanjang rantai.

induk menunjuk ke sisa rantai "refcounted_he" untuk dilampirkan ke yang baru
"refcounted_he". Fungsi ini mengambil kepemilikan dari satu referensi ke induk, dan
mengembalikan satu referensi ke "refcounted_he" yang baru.

struct refcounted_he * refcounted_he_new_pvn(
struct refcounted_he *induk,
const char *keypv,
STRLEN keylen, hash U32,
SV *nilai, bendera U32
)

refcounted_he_new_pvs
Seperti "refcounted_he_new_pvn", tetapi mengambil string literal alih-alih a
pasangan string/panjang, dan tidak ada hash yang dihitung sebelumnya.

struct refcounted_he * refcounted_he_new_pvs(
struct refcounted_he *induk,
const char *key, SV *nilai,
bendera U32
)

refcounted_he_new_sv
Seperti "refcounted_he_new_pvn", tetapi menggunakan skalar Perl alih-alih string/panjang
pair.

struct refcounted_he * refcounted_he_new_sv(
struct refcounted_he *induk,
SV *kunci, hash U32, SV *nilai,
bendera U32
)

IO Fungsi


mulai_glob
CATATAN: fungsi ini bersifat eksperimental dan dapat berubah atau dihapus tanpa pemberitahuan.

Fungsi yang dipanggil oleh "do_readline" untuk menelurkan glob (atau melakukan glob di dalam Perl on
VMS). Kode ini dulunya sebaris, tetapi sekarang Perl menggunakan "File::Glob" glob ini
starter hanya digunakan oleh miniperl selama proses build. Memindahkannya menyusut
pp_hot.c; menyusut pp_hot.c membantu mempercepat perl up.

PerlIO* start_glob(SV *tmpglob, IO *io)

Lexer antarmuka


validasi_proto
CATATAN: fungsi ini bersifat eksperimental dan dapat berubah atau dihapus tanpa pemberitahuan.

Fungsi ini melakukan pemeriksaan sintaks pada prototipe, "proto". Jika "peringatkan" adalah
benar, setiap karakter ilegal atau tanda kurung yang tidak cocok akan memicu ilegalproto
peringatan, menyatakan bahwa mereka terdeteksi dalam prototipe untuk "nama".

Nilai kembalian adalah "benar" jika ini adalah prototipe yang valid, dan "salah" jika tidak,
terlepas dari apakah "peringatan" itu "benar" atau "salah".

Perhatikan bahwa "NULL" adalah "proto" yang valid dan akan selalu mengembalikan "true".

CATATAN: bentuk perl_ dari fungsi ini tidak digunakan lagi.

bool validasi_proto(SV *nama, SV *proto, peringatan bool)

Gaib Fungsi


petunjuk_ajaib
Dipicu oleh penghapusan dari %^H, merekam kunci ke "PL_compiling.cop_hints_hash".

int magic_clearhint(SV* sv, MAGIC* mg)

petunjuk_ajaib
Dipicu dengan menghapus %^H, menyetel ulang "PL_compiling.cop_hints_hash".

int magic_clearhints(SV* sv, MAGIC* mg)

panggilan_metode ajaib
Panggil metode ajaib (seperti FETCH).

"sv" dan "mg" adalah hal yang diikat dan sihir dasi.

"meth" adalah nama metode yang akan dipanggil.

"argc" adalah jumlah args (selain $self) untuk diteruskan ke metode.

"Bendera" dapat berupa:

G_DISCARD memanggil metode dengan flag G_DISCARD dan tidak
mengembalikan nilai
G_UNDEF_FILL isi tumpukan dengan pointer argc ke
PL_sv_undef

Argumen itu sendiri adalah nilai apa pun yang mengikuti argumen "bendera".

Mengembalikan SV (jika ada) yang dikembalikan oleh metode, atau NULL jika gagal.

SV* magic_methcall(SV *sv, konstanta MAGIC *mg,
SV * meth, bendera U32, U32 argc,
...)

magic_setint
Dipicu oleh toko ke %^H, merekam pasangan kunci/nilai ke
"PL_compiling.cop_hints_hash". Diasumsikan bahwa petunjuk tidak menyimpan apa pun
yang akan membutuhkan salinan yang dalam. Mungkin kita harus memperingatkan jika kita menemukan referensi.

int magic_sethint(SV* sv, MAGIC* mg)

mg_lokalisasi
Salin beberapa keajaiban dari SV yang ada ke versi lokal baru dari SV itu.
Sihir wadah (mis. %ENV, $1, dasi) disalin, sihir nilai tidak (mis. noda,
posisi).

Jika setmagic salah maka tidak ada set magic yang akan dipanggil pada SV baru (kosong). Ini
biasanya berarti bahwa tugas akan segera menyusul (misalnya 'local $x = $y'), dan itu
akan menangani sihir.

batal mg_localize(SV* sv, SV* nsv, bool setmagic)

bermacam-macam Fungsi


free_c_backtrace
Mengalokasikan backtrace yang diterima dari get_c_bracktrace.

batalkan free_c_backtrace(Perl_c_backtrace* bt)

dapatkan_c_backtrace
Mengumpulkan backtrace (alias "stacktrace") ke dalam buffer malloced linier tunggal,
penelepon yang mana harus Perl_free_c_backtrace().

Memindai bingkai kembali menurut kedalaman + lewati, lalu jatuhkan lompatan paling dalam, kembali pada
frame paling dalam.

Perl_c_backtrace* get_c_backtrace(int max_kedalaman,
int lewati)

MRO Fungsi


mro_get_linear_isa_dfs
Mengembalikan linearisasi Depth-First Search dari @ISA simpanan yang diberikan. Kembalinya
nilainya adalah AV* hanya-baca. "level" harus 0 (digunakan secara internal dalam hal ini
rekursi fungsi).

Anda bertanggung jawab untuk "SvREFCNT_inc()" pada nilai pengembalian jika Anda berencana untuk menyimpan
itu di mana saja secara semi-permanen (jika tidak, itu mungkin dihapus dari bawah Anda
lain kali cache tidak valid).

AV* mro_get_linear_isa_dfs(simpanan HV*, tingkat U32)

mro_isa_changed_in
Mengambil langkah-langkah yang diperlukan (pembatalan cache, sebagian besar) ketika @ISA yang diberikan
paket telah berubah. Dipanggil oleh sihir "setisa", seharusnya tidak perlu dipanggil
langsung.

batalkan mro_isa_changed_in(simpanan HV*)

mro_package_moved
Panggil fungsi ini untuk memberi sinyal ke simpanan bahwa itu telah ditetapkan ke tempat lain
dalam hierarki simpanan. "simpanan" adalah simpanan yang telah ditetapkan. "uang tua"
adalah simpanan yang diganti, jika ada. "gv" adalah glob yang sebenarnya ada
ditugaskan untuk.

Ini juga bisa disebut dengan argumen nol pertama untuk menunjukkan bahwa "oldstash" memiliki
telah dihapus.

Fungsi ini membatalkan cache isa pada simpanan lama, pada semua subpaket bersarang
di dalamnya, dan pada subkelas dari semua itu, termasuk paket yang tidak ada
yang memiliki entri yang sesuai di "simpanan".

Itu juga menetapkan nama efektif ("HvENAME") pada semua simpanan yang sesuai.

Jika "gv" ada dan tidak ada dalam tabel simbol, maka fungsi ini sederhana
kembali. Tanda centang ini akan dilewati jika "flags & 1".

void mro_package_moved(HV * const simpanan,
HV * const simpanan lama,
konstanta GV * konstanta gv,
bendera U32)

Pilihan manipulasi Fungsi


finalisasi_optree
Fungsi ini menyelesaikan optree. Harus dipanggil langsung setelah selesai
optree dibangun. Itu melakukan beberapa pemeriksaan tambahan yang tidak dapat dilakukan di
fungsi ck_xxx normal dan membuat thread-pohon aman.

batalkan finalize_optree(OP* o)

Bantalan Data Struktur


CX_CURPAD_SAVE
Simpan pad saat ini dalam struktur blok konteks yang diberikan.

batalkan CX_CURPAD_SAVE (konteks struktur)

CX_CURPAD_SV
Akses SV pada offset po di pad saat ini yang disimpan di blok konteks yang diberikan
struktur (dapat digunakan sebagai nilai).

SV * CX_CURPAD_SV(konteks struktur, PADOFFSET po)

NamaPadIsOUR
Apakah ini adalah variabel "kami".

bool PadnameIsOUR(PADNAME pn)

NamapadIsSTATE
Apakah ini adalah variabel "keadaan".

bool PadnameIsSTATE(PADNAME pn)

NamapadOURSTASH
Simpanan di mana variabel "kami" ini dideklarasikan.

HV * NamapadOURSTASH()

NamapadOUTER
Apakah entri ini milik pad luar. Entri yang benar adalah
sering disebut sebagai 'palsu'.

bool PadnameOUTER(PADNAME pn)

NamaPadTYPE
Simpanan yang terkait dengan leksikal yang diketik. Ini mengembalikan %Foo:: hash untuk "my
Foo $bar".

HV * PadnameTYPE (PADNAME pn)

PAD_BASE_SV
Dapatkan nilai dari slot "po" di alas (KEDALAMAN = 1) pad daftar pad

SV * PAD_BASE_SV(Daftar daftar PADLIST, PADOFFSET po)

PAD_CLONE_VARS
Mengkloning variabel status yang terkait dengan menjalankan dan menyusun bantalan.

batal PAD_CLONE_VARS(PerlInterpreter *proto_perl,
CLONE_PARAMS* parameter)

PAD_COMPNAME_FLAGS
Kembalikan bendera untuk nama pad kompilasi saat ini di offset "po". Asumsikan
entri slot yang valid.

U32 PAD_COMPNAME_FLAGS(PADOFFSET po)

PAD_COMPNAME_GEN
Nomor generasi nama di offset "po" di pad kompilasi saat ini
(nilai). Perhatikan bahwa "SvUVX" dibajak untuk tujuan ini.

STRLEN PAD_COMPNAME_GEN(PADOFFSET po)

PAD_COMPNAME_GEN_set
Menyetel nomor generasi nama pada offset "po" di ling pad saat ini
(nilai) menjadi "gen". Perhatikan bahwa "SvUV_set" dibajak untuk tujuan ini.

STRLEN PAD_COMPNAME_GEN_set(PADOFFSET po, int gen)

PAD_COMPNAME_OURSTASH
Kembalikan simpanan yang terkait dengan variabel "kami". Asumsikan entri slot adalah
leksikal "kami" yang valid.

HV * PAD_COMPNAME_OURSTASH(PADOFFSET po)

PAD_COMPNAME_PV
Kembalikan nama nama pad kompilasi saat ini di offset "po". Diasumsikan valid
entri slot.

karakter * PAD_COMPNAME_PV(PADOFFSET po)

PAD_COMPNAME_TYPE
Kembalikan jenis (simpanan) dari nama pad kompilasi saat ini di offset "po". Harus
nama yang sah. Mengembalikan null jika tidak diketik.

HV * PAD_COMPNAME_TYPE(PADOFFSET po)

PAD_RESTORE_LOCAL
Kembalikan pad lama yang disimpan ke opad variabel lokal dengan PAD_SAVE_LOCAL()

batal PAD_RESTORE_LOCAL(PAD *opad)

PAD_SAVE_LOCAL
Simpan pad saat ini ke opad variabel lokal, lalu buat pad saat ini sama
ke npad

batal PAD_SAVE_LOCAL(PAD *opad, PAD *npad)

PAD_SAVE_SETNULLPAD
Simpan pad saat ini lalu atur ke null.

batalkan PAD_SAVE_SETNULLPAD()

PAD_SETSV
Atur slot pada offset "po" di pad saat ini ke "sv"

SV * PAD_SETSV(PADOFFSET po, SV* sv)

PAD_SET_CUR
Atur pad saat ini menjadi pad "n" di daftar pad, menyimpan pad saat ini sebelumnya.
NB saat ini makro ini diperluas ke string terlalu panjang untuk beberapa kompiler, jadi
sebaiknya diganti dengan

SIMPANCOMPPAD();
PAD_SET_CUR_NOSAVE(daftar pad,n);

batal PAD_SET_CUR(Daftar daftar PADLIST, I32 n)

PAD_SET_CUR_NOSAVE
seperti PAD_SET_CUR, tetapi tanpa simpan

batal PAD_SET_CUR_NOSAVE(Daftar daftar PADLIST, I32 n)

PAD_SV Dapatkan nilai pada offset "po" di pad saat ini

SV * PAD_SV(PADOFFSET po)

PAD_SVl Versi ringan dan bernilai dari "PAD_SV". Dapatkan atau tetapkan nilai pada offset "po"
di pad saat ini. Tidak seperti "PAD_SV", tidak mencetak diagnostik dengan -DX. Untuk
penggunaan internal saja.

SV * PAD_SVl(PADOFFSET po)

SIMPAN CLEARSV
Hapus nilai menunjuk ke pad pada keluar lingkup. (yaitu tindakan runtime dari 'saya')

batal SAVECLEARSV(SV **svp)

SIMPANCOMPPAD
simpan PL_comppad dan PL_curpad

batal SAVECOMPPAD()

SIMPANPADSV
Simpan slot pad (digunakan untuk memulihkan setelah iterasi)

XXX DAPM akan lebih masuk akal untuk menjadikan argumen sebagai PADOFFSET
batal SAVEPADSV(PADOFFSET po)

Per-Penerjemah Variabel


PL_DBtunggal
Ketika Perl dijalankan dalam mode debugging, dengan -d switch, SV ini adalah boolean yang
menunjukkan apakah kapal selam sedang melangkah tunggal. Satu langkah secara otomatis
dihidupkan setelah setiap langkah. Ini adalah variabel C yang sesuai dengan Perl's
$DB::variabel tunggal. Lihat "PL_DBsub".

SV * PL_DBtunggal

PL_DBsub
Ketika Perl dijalankan dalam mode debugging, dengan -d sakelar, GV ini berisi SV
yang menyimpan nama sub yang sedang di-debug. Ini adalah variabel C yang
sesuai dengan variabel $DB::sub Perl. Lihat "PL_DBsingle".

GV*PL_DBsub

PL_DBtrace
Lacak variabel yang digunakan saat Perl dijalankan dalam mode debug, dengan -d beralih. Ini
adalah variabel C yang sesuai dengan variabel $DB::trace Perl. Melihat
"PL_DBtunggal".

SV * PL_DBtrace

PL_mawar
Variabel C yang sesuai dengan variabel peringatan $^W Perl.

bool PL_dowarn

PL_last_in_gv
GV yang terakhir digunakan untuk operasi input penanganan file. (" ")

GV* PL_last_in_gv

PL_ofsgv
Gumpalan yang berisi pemisah bidang keluaran - "*," di ruang Perl.

GV* PL_ofsgv

PL_rs Pemisah record input - $/ dalam ruang Perl.

SV* PL_rs

Tumpukan manipulasi Macro


djSP Nyatakan Hanya "SP". Ini sebenarnya identik dengan "dSP", dan menyatakan salinan lokal
dari penunjuk tumpukan Perl, tersedia melalui makro "SP". Lihat "SP". (Tersedia untuk
kompatibilitas kode sumber mundur dengan model utas lama (Perl 5.005).)

DJSP;

LVRET Benar jika op ini akan menjadi nilai balik dari subrutin nilai

SV manipulasi Fungsi


SV (atau AV, HV, dll.) dialokasikan dalam dua bagian: kepala (struct sv, av, hv...)
berisi jenis dan informasi jumlah referensi, dan untuk banyak jenis, penunjuk ke badan
(struct xrv, xpv, xpviv...), yang berisi bidang khusus untuk setiap jenis. Beberapa jenis
menyimpan semua yang mereka butuhkan di kepala, jadi tidak punya tubuh.

Dalam semua kecuali sebagian besar konfigurasi paranoid memori (mis: PURIFY), kepala dan badan adalah
dialokasikan di luar arena, yang secara default adalah sekitar 4K potongan memori yang dibagi
menjadi N kepala atau badan. Sv-body dialokasikan berdasarkan tipe sv mereka, menjamin ukuran
konsistensi yang dibutuhkan untuk mengalokasikan dengan aman dari array.

Untuk kepala SV, slot pertama di setiap arena dicadangkan, dan memiliki tautan ke yang berikutnya
arena, beberapa bendera, dan catatan jumlah slot. Ular melalui setiap rantai arena adalah
daftar item gratis yang ditautkan; ketika ini menjadi kosong, arena tambahan dialokasikan dan
dibagi menjadi N item yang dimasukkan ke dalam daftar gratis.

Badan SV serupa, tetapi mereka menggunakan set arena secara default, yang memisahkan tautan dan
info dari arena itu sendiri, dan merebut kembali slot 1 di arena. Badan SV lebih jauh
dijelaskan nanti.

Variabel global berikut ini terkait dengan arena:

PL_sv_arenaroot pointer ke daftar arena SV
PL_sv_root pointer ke daftar struktur SV gratis

PL_body_arenas kepala linked-list dari body arena
PL_body_roots[] array pointer ke daftar badan bebas svtype
array diindeks oleh svtype yang dibutuhkan

Beberapa kepala SV khusus tidak dialokasikan dari arena, tetapi langsung dibuat
dalam struktur penerjemah, misalnya PL_sv_undef. Ukuran arena dapat diubah dari
default dengan mengatur PERL_ARENA_SIZE dengan tepat pada waktu kompilasi.

Arena SV memiliki tujuan sekunder untuk memungkinkan lokasi SV yang masih hidup dan
dihancurkan selama pembersihan akhir.

Pada level terendah, makro baru_SV() dan del_SV() ambil dan bebaskan kepala SV. (Jika
debugging dengan -DD, del_SV() memanggil fungsi S_del_sv() untuk mengembalikan SV ke gratis
daftar dengan pemeriksaan kesalahan.) baru_SV() panggilan selengkapnya_sv() / sv_add_arena() untuk menambahkan arena ekstra
jika daftar gratis kosong. SV dalam daftar gratis memiliki bidang SvTYPE yang disetel ke semua.

Pada saat pembersihan terakhir, sv_free_arena() dipanggil dari perl_destruct() untuk
secara fisik membebaskan semua arena yang dialokasikan sejak awal penerjemah.

Fungsi mengunjungi() memindai daftar arena SV, dan memanggil fungsi yang ditentukan untuk setiap SV
ia menemukan yang masih hidup - yaitu yang memiliki SvTYPE selain semua 1, dan bukan nol
SvREFCNT. mengunjungi() digunakan oleh fungsi-fungsi berikut (ditentukan sebagai [fungsi yang memanggil
mengunjungi()] / [fungsi dipanggil oleh mengunjungi() untuk setiap SV]):

sv_report_used() / lakukan_report_used()
buang semua SV yang tersisa (bantuan debug)

sv_clean_objs() / lakukan_clean_objs(),do_clean_named_objs(),
do_clean_named_io_objs(),do_curse()
Mencoba untuk membebaskan semua benda yang ditunjuk oleh RV,
coba lakukan hal yang sama untuk semua objek secara indir-
ectly direferensikan oleh typeglobs juga, dan
lalu lakukan sapuan terakhir, mengutuk apa pun
benda-benda yang tersisa. Dipanggil sekali dari
perl_destruct(), sebelum memanggil sv_clean_all()
di bawah.

sv_clean_all() / lakukan_clean_all()
SvREFCNT_dec(sv) setiap SV yang tersisa, mungkin
memicu sv_free(). Ini juga mengatur
Bendera SVf_BREAK pada SV untuk menunjukkan bahwa
refcnt telah diturunkan secara artifisial, dan dengan demikian
menghentikan sv_free() dari memberikan peringatan palsu
tentang SV yang tiba-tiba memiliki refcnt
dari nol. dipanggil berulang kali dari perl_destruct()
sampai tidak ada SV yang tersisa.

SvBERPIKIR PERTAMA
Pemeriksaan bendera cepat untuk melihat apakah sv harus diteruskan ke sv_force_normal untuk menjadi
"diturunkan" sebelum SvIVX atau SvPVX dapat dimodifikasi secara langsung.

Misalnya, jika skalar Anda adalah referensi dan Anda ingin memodifikasi slot SvIVX,
anda tidak bisa hanya melakukan SvROK_off, karena itu akan membocorkan referensi.

Ini digunakan secara internal oleh berbagai fungsi sv-modifying, seperti sv_setsv,
sv_setiv dan sv_pvn_force.

Satu kasus yang tidak ditangani adalah gv tanpa set SvFAKE. Setelah

jika (SvTHINKFIRST(gv)) sv_force_normal(gv);

itu masih akan menjadi gv.

SvTHINKFIRST terkadang menghasilkan hasil positif palsu. Dalam kasus tersebut sv_force_normal
tidak melakukan apa-apa.

U32 SvPIKIRAN PERTAMA(SV *sv)

sv_add_arena
Diberi sepotong memori, tautkan ke kepala daftar arena, dan pisahkan
ke dalam daftar SV gratis.

void sv_add_arena(char *const ptr, const ukuran U32,
const bendera U32)

sv_clean_all
Kurangi refcnt dari setiap SV yang tersisa, mungkin memicu pembersihan. Ini
fungsi mungkin harus dipanggil beberapa kali untuk membebaskan SV yang berada di kompleks
hierarki referensi diri.

I32 sv_bersih_semua()

sv_clean_objs
Mencoba untuk menghancurkan semua objek yang belum dibebaskan.

batalkan sv_clean_objs()

sv_free_arena
Mengalokasikan memori yang digunakan oleh semua arena. Perhatikan bahwa semua kepala SV individu
dan tubuh di dalam arena pasti sudah dibebaskan.

batalkan sv_free_arenas()

SV-Tubuh Alokasi


sv_2num CATATAN: fungsi ini bersifat eksperimental dan dapat berubah atau dihapus tanpa pemberitahuan.

Kembalikan SV dengan nilai numerik dari sumber SV, lakukan apa pun yang diperlukan
referensi atau konversi yang berlebihan. Penelepon diharapkan telah menangani get-
sudah ajaib.

SV* sv_2num(SV *konstan sv)

sv_copypv
Menyalin representasi string dari SV sumber ke SV tujuan.
Secara otomatis melakukan mg_get dan pemaksaan nilai numerik yang diperlukan ke dalam
string. Dijamin untuk mempertahankan bendera UTF8 bahkan dari objek yang kelebihan beban. Serupa
di alam untuk sv_2pv[_flags] tetapi beroperasi langsung pada SV bukan hanya
rangkaian. Sebagian besar menggunakan sv_2pv_flags untuk melakukan tugasnya, kecuali jika itu akan kehilangan
UTF-8'ness dari PV.

batal sv_copypv(SV *const dsv, SV *const ssv)

sv_ref Mengembalikan SV yang menjelaskan apa yang menjadi referensi dari SV yang diteruskan.

SV* sv_ref(SV *dst, konstanta SV *konstan sv,
konstan ke ob)

Unicode Bantuan


temukan_uninit_var
CATATAN: fungsi ini bersifat eksperimental dan dapat berubah atau dihapus tanpa pemberitahuan.

Temukan nama variabel tidak terdefinisi (jika ada) yang menyebabkan operator mengeluarkan
peringatan "Penggunaan nilai yang tidak diinisialisasi". Jika kecocokan benar, hanya kembalikan nama jika
nilainya cocok dengan unitit_sv. Jadi secara kasar, jika operator unary (seperti
OP_COS) menghasilkan peringatan, kemudian mengikuti anak langsung dari op dapat menghasilkan
sebuah OP_PADSV atau OP_GV yang memberikan nama variabel yang tidak ditentukan. Di sisi lain
tangan, dengan OP_ADD ada dua cabang untuk diikuti, jadi kami hanya mencetak variabel
nama jika kita mendapatkan kecocokan yang tepat. desc_p menunjuk ke penunjuk string yang memegang
deskripsi operasi Ini dapat diperbarui jika diperlukan.

Nama itu dikembalikan sebagai SV fana.

Diasumsikan bahwa PL_op adalah op yang awalnya memicu kesalahan, dan itu
PL_comppad/PL_curpad menunjuk ke pad yang sedang dieksekusi.

SV* find_uninit_var(konstan OP *konstan obase,
const SV *const unit_sv,
pertandingan bool, const char **desc_p)

laporan_unit
Cetak peringatan "Penggunaan variabel yang tidak diinisialisasi" yang sesuai.

batalkan report_uninit(const SV *uninit_sv)

Tidak berdokumen fungsi


Fungsi berikut saat ini tidak didokumentasikan. Jika Anda menggunakan salah satunya, Anda mungkin ingin
untuk mempertimbangkan membuat dan mengirimkan dokumentasi untuk itu.

PerlIO_restore_errno
PerlIO_save_errno
Slab_Alokasi
Slab_Gratis
Slab_to_ro
lempengan_ke_rw
_add_range_to_invlist
_core_swash_init
_dapatkan_pengkodean
_get_swash_invlist
_invlist_array_init
_invlist_contains_cp
_invlist_contents
_invlist_dump
_invlist_intersection
_invlist_intersection_maybe_complement_2nd
_invlist_invert
_invlist_len
_invlist_populate_swatch
_invlist_pencarian
_invlist_subtract
_invlist_union
_invlist_union_maybe_complement_2nd
_load_PL_utf8_foldclosures
_daftar_masuk_baru
_setup_canned_invlist
_swash_inversion_hash
_swash_to_invlist
_ke_lipat_latin1
_ke_atas_judul_latin1
_warn_problematic_locale
aassign_common_vars
tambahkan_cp_to_invlist
alokasikan_mungkin_populasi_EXACT
alokasi
amagic_is_enabled
menerapkan
av_extend_nyali
av_reify
ikat_cocok
boot_core_PerlIO
boot_core_UNIVERSAL
boot_core_mro
Kapan
check_utf8_print
ck_anoncode
ck_backtick
ck_bitop
ck_cmp
ck_concat
ck_didefinisikan
ck_hapus
ck_each
ck_entersub_args_core
ck_eof
ck_eval
ck_exec
ck_ada
ck_ftst
ck_fun
ck_glob
ck_grep
ck_index
ck_join
ck_panjang
ck_lfun
ck_listiob
ck_match
ck_metode
ck_null
ck_open
ck_prototipe
ck_readline
ck_refassign
ck_ulangi
ck_require
ck_return
ck_rfun
ck_rvconst
ck_sassign
ck_pilih
ck_shift
ck_smartmatch
ck_sort
ck_spair
ck_split
ck_stringify
ck_subr
ck_substr
ck_svconst
ck_tell
ck_trunc
terdekat_cop
komputasi_EXACTish
coresub_op
buat_eval_scope
croak_no_mem
croak_popstack
mesin_re_saat ini
custom_op_get_field
cv_ckproto_len_flags
cv_clone_to
cv_const_sv_or_av
cv_undef_flags
cvgv_from_hek
cvgv_set
cvstash_set
deb_stack_all
defelem_target
hapus_eval_scope
mati_bersantai
lakukan_aexec
lakukan_aexec5
lakukan_eof
lakukan_exec
lakukan_exec3
do_execfree
lakukan_ipcctl
lakukan_ipcget
lakukan_msgrcv
lakukan_msgsnd
lakukan_ncmp
lakukan_buka6
lakukan_buka_mentah
lakukan_cetak
lakukan_readline
lakukan_pencarian
lakukan_semop
lakukan_shmio
lakukan_sysseek
lakukan_beritahu
lakukan_trans
lakukan_vecget
lakukan_vecset
lakukan_vop
dofile
drand48_init_r
drand48_r
dump_all_perl
dump_packsubs_perl
dump_sub_perl
dump_sv_child
emulate_cop_io
feature_is_enabled
temukan_leksikal_cv
temukan_runcv_where
temukan_rundefsv2
temukan_skrip
free_tied_hv_pool
dapatkan_dan_check_backslash_N_name
dapatkan_db_sub
get_debug_opts
dapatkan_hash_seed
get_invlist_iter_addr
get_invlist_offset_addr
get_invlist_previous_index_addr
dapatkan_tidak_modifikasi
dapatkan_opargs
dapatkan_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_placeholder_p
hv_undef_flags
init_argv_symbols
init_constants
init_dbargs
init_debugger
membalikkan
invlist_array
invlist_clone
invlist_highest
invlist_is_iterating
invlist_iterfinish
invlist_iterinit
invlist_max
invlist_previous_index
invlist_set_len
invlist_set_previous_index
invlist_trim
io_dekat
is_utf8_common
isinfnansv
jmungkin
kata kunci
kata kunci_plugin_standar
daftar
melokalisir
sihir_clear_all_env
sihir_cleararylen_p
sihir_clearenv
sihir_clearisa
magic_clearpack
sihir_clearsig
magic_copycallchecker
paket_ajaib_ada
sihir_freearylen_p
magic_freeovrld
sihir_dapatkan
sihir_getarylen
magic_getdebugvar
magic_getdefelem
sihir_getnkeys
sihir_getpack
sihir_getpos
sihir_getsig
sihir_getsubstr
sihir_gettaint
sihir_getuvar
sihir_getvec
sihir_killbackrefs
paket ajaib_berikutnya
sihir_regdata_cnt
magic_regdatum_get
magic_regdatum_set
paket_ajaib_scalar
set_ajaib
sihir_set_all_env
sihir_setarylen
magic_setcollxfrm
magic_setdbline
magic_setdebugvar
magic_setdefelem
sihir_setenv
sihir_setisa
magic_setlvref
magic_setmglob
sihir_setnkeys
paket_ajaib
sihir_setpos
magic_setregexp
sihir_setsig
sihir_setsubstr
sihir_settaint
ajaib_setutf8
sihir_setuvar
sihir_setvec
paket ukuran_ajaib
magic_wipepack
malloc_good_size
malloced_size
mem_collxfrm
mg_temukan_mglob
mode_from_disiplin
more_body
mro_meta_dup
mro_meta_init
multideref_stringify
my_attrs
my_clearenv
my_lstat_flags
my_stat_flags
my_unexec
baruATTRSUB_x
GP baru
newMETHOP_internal
STUB baru
baruSVavdefelem
newXS_deffile
newXS_len_flags
bidang_bit_peringatan_baru
nextargv
tidak_mati
upsAV
upsHV
op_clear
op_integerize
op_lvalue_flags
op_refcnt_dec
op_refcnt_inc
op_relokasi_sv
op_std_init
op_unscope
opmethod_stash
opslab_force_free
opslab_free
opslab_free_nopad
paket
paket_versi
pad_add_weakref
padlist_store
padname_free
daftar nama_bebas
parse_subsignature
parse_unicode_opts
parser_gratis
parser_free_nexttoke_ops
path_is_dapat dicari
mengintip
sore hari
populasi_isa
ptr_hash
kesalahan
kompilasi ulang_op_
reg_named_buff
reg_named_buff_iter
reg_numbered_buff_fetch
reg_numbered_buff_length
reg_numbered_buff_store
reg_qr_package
reg_skipcomment
reg_temp_copy
secara teratur
regpposixcc
regprop
laporan_jahat_fh
laporan_redefinisi_cv
lapor_salah_fh
mengintip
rsignal_restore
rsignal_save
rxres_save
sama_dirent
simpan_aliased_sv
simpan_strlen
tukang gergaji
skalar
skalarvoid
set_caret_X
set_padlist
harus_peringatkan_nl
pengganggu
softref2xv
ssc_add_range
ssc_clear_locale
ssc_cp_dan
ssc_persimpangan
ssc_union
sub_crush_kedalaman
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
terikat_metode
tmps_grow_p
terjemahkan_substr_offsets
coba_amagic_bin
coba_amagic_un
batalkan berbagi_hek
Penggunaan
nama belakang
vivify_defelem
vivify_ref
tunggu4pid
was_lvalue_sub
menonton
win32_croak_not_implemented
tulis_ke_stderr
xs_boot_epilog
jabat tangan xs_
kesalahan
kamukesalahan_pv
yyerror_pvn
yylex
kamu menguraikan
yyunlex

PENULIS


Sistem autodocumentation awalnya ditambahkan ke inti Perl oleh Benjamin Stuhl.
Dokumentasi dilakukan oleh siapa saja yang berbaik hati untuk mendokumentasikan fungsinya.

Gunakan perlintern online menggunakan layanan onworks.net


Server & Workstation Gratis

Unduh aplikasi Windows & Linux

  • 1
    Atom
    Atom
    Atom adalah editor teks yang
    modern, mudah didekati, dan berfitur lengkap.
    Ini juga mudah disesuaikan- Anda
    dapat menyesuaikannya untuk melakukan apa saja dan menjadi
    sudah bisa ...
    Unduh Atom.dll
  • 2
    Oh!
    Oh!
    Osu! adalah permainan ritme sederhana dengan sumur
    memikirkan kurva belajar untuk pemain
    dari semua tingkat keahlian. Salah satu yang hebat
    aspek Osu! apakah itu
    komunitas-dr...
    Unduh Osu!
  • 3
    LIBPNG: Pustaka referensi PNG
    LIBPNG: Pustaka referensi PNG
    Pustaka referensi untuk mendukung
    Format Grafik Jaringan Portabel (PNG).
    Pemirsa: Pengembang. Pemrograman
    Bahasa: C. Ini adalah aplikasi yang
    bisa juga...
    Unduh LIBPNG: pustaka referensi PNG
  • 4
    Detektor logam berdasarkan RP2040
    Detektor logam berdasarkan RP2040
    Berdasarkan papan Raspberry Pi Pico, ini
    detektor logam termasuk dalam pulsa
    kategori detektor logam induksi, dengan
    kelebihan dan kekurangan yang sudah diketahui.
    Rp...
    Unduh Detektor logam berdasarkan RP2040
  • 5
    Manajer PAC
    Manajer PAC
    PAC adalah pengganti Perl/GTK untuk
    SecureCRT/Putty/dll (linux
    ssh/telnet/... gui)... Ini menyediakan GUI
    untuk mengonfigurasi koneksi: pengguna,
    kata sandi, aturan EXPECT...
    Unduh Manajer PAC
  • 6
    GeoServer
    GeoServer
    GeoServer adalah perangkat lunak sumber terbuka
    server yang ditulis dalam Java yang memungkinkan pengguna
    untuk berbagi dan mengedit data geospasial.
    Dirancang untuk interoperabilitas, itu
    menerbitkan da...
    Unduh GeoServer.dll
  • Lebih banyak lagi »

Perintah Linux

Ad