The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Embedding Functions

Allocates a new Perl interpreter. See perlembed.

Initializes a new Perl interpreter. See perlembed.

Stub that provides thread hook for perl_destruct when there are no threads.

Shuts down a Perl interpreter. See perlembed.

Releases a Perl interpreter. See perlembed.

Tells a Perl interpreter to parse a Perl script. See perlembed.

Tells a Perl interpreter to run. See perlembed.

SV Manipulation Functions

Returns the SV of the specified Perl scalar. flags are passed to gv_fetchpv. If GV_ADD is set and the Perl variable does not exist then it will be created. If flags is zero and the variable does not exist then NULL is returned.

Array Manipulation Functions

Returns the AV of the specified Perl global or package array with the given name (so it won't work on lexical variables). flags are passed to gv_fetchpv. If GV_ADD is set and the Perl variable does not exist then it will be created. If flags is zero and the variable does not exist then NULL is returned.

Perl equivalent: @{"$name"}.

Hash Manipulation Functions

Returns the HV of the specified Perl hash. flags are passed to gv_fetchpv. If GV_ADD is set and the Perl variable does not exist then it will be created. If flags is zero and the variable does not exist then NULL is returned.

CV Manipulation Functions

Returns the CV of the specified Perl subroutine. flags are passed to gv_fetchpvn_flags. If GV_ADD is set and the Perl subroutine does not exist then it will be declared (which has the same effect as saying sub name;). If GV_ADD is not set and the subroutine does not exist then NULL is returned.

Uses strlen to get the length of name, then calls get_cvn_flags.

Callback Functions

Performs a callback to the specified named and package-scoped Perl subroutine with argv (a NULL-terminated array of strings) as arguments. See perlcall.

Approximate Perl equivalent: &{"$sub_name"}(@$argv).

Performs a callback to the specified Perl sub. See perlcall.

Performs a callback to the specified Perl method. The blessed object must be on the stack. See perlcall.

Performs a callback to the Perl sub whose name is in the SV. See perlcall.

Tells Perl to eval the string in the SV. It supports the same flags as call_sv, with the obvious exception of G_EVAL. See perlcall.

Tells Perl to eval the given string and return an SV* result.

Embedding Functions

Tells Perl to require the file named by the string argument. It is analogous to the Perl code eval "require '$file'". It's even implemented that way; consider using load_module instead.