Jarkko Hietaniemi > perl-5.7.2 > perlintern


Annotate this POD

Source   Latest Release: perl-5.8.9


perlintern - autogenerated documentation of purely internal Perl functions


This file is the autogenerated documentation of functions in the Perl interpreter that are documented using Perl's internal documentation format but are not marked as part of the Perl API. In other words, they are not for use in extensions!


Declare Just SP. This is actually identical to dSP, and declares a local copy of perl's stack pointer, available via the SP macro. See SP. (Available for backward source code compatibility with the old (Perl 5.005) thread model.)


Returns TRUE if given the name of a magical GV.

Currently only useful internally when determining if a GV should be created even in rvalue contexts.

flags is not used at present but available for future extension to allow selecting particular classes of magical variable.

        bool    is_gv_magical(char *name, STRLEN len, U32 flags)

True if this op will be the return value of an lvalue subroutine


When Perl is run in debugging mode, with the -d switch, this SV is a boolean which indicates whether subs are being single-stepped. Single-stepping is automatically turned on after every step. This is the C variable which corresponds to Perl's $DB::single variable. See PL_DBsub.

        SV *    PL_DBsingle

When Perl is run in debugging mode, with the -d switch, this GV contains the SV which holds the name of the sub being debugged. This is the C variable which corresponds to Perl's $DB::sub variable. See PL_DBsingle.

        GV *    PL_DBsub

Trace variable used when Perl is run in debugging mode, with the -d switch. This is the C variable which corresponds to Perl's $DB::trace variable. See PL_DBsingle.

        SV *    PL_DBtrace

The C variable which corresponds to Perl's $^W warning variable.

        bool    PL_dowarn

The GV which was last used for a filehandle input operation. (<FH>)

        GV*     PL_last_in_gv

The output field separator - $, in Perl space.

        SV*     PL_ofs_sv

The input record separator - $/ in Perl space.

        SV*     PL_rs

Print appropriate "Use of uninitialized variable" warning

        void    report_uninit()

Function called by do_readline to spawn a glob (or do the glob inside perl on VMS). This code used to be inline, but now perl uses File::Glob this glob starter is only used by miniperl during the build proccess. Moving it away shrinks pp_hot.c; shrinking pp_hot.c helps speed perl up.

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

Given a chunk of memory, link it to the head of the list of arenas, and split it into a list of free SVs.

        void    sv_add_arena(char* ptr, U32 size, U32 flags)

Decrement the refcnt of each remaining SV, possibly triggering a cleanup. This function may have to be called multiple times to free SVs which are in complex self-referential hierarchies.

        I32     sv_clean_all()

Attempt to destroy all objects not yet freed

        void    sv_clean_objs()

Deallocate the memory used by all arenas. Note that all the individual SV heads and bodies within the arenas must already have been freed.

        void    sv_free_arenas()


The autodocumentation system was originally added to the Perl core by Benjamin Stuhl. Documentation is by whoever was kind enough to document their functions.


perlguts(1), perlapi(1)

syntax highlighting: