Home Man
Today's Posts

Linux & Unix Commands - Search Man Pages

RedHat 9 (Linux i386) - man page for perlintern (redhat section 1)

PERLINTERN(1)			 Perl Programmers Reference Guide		    PERLINTERN(1)

       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!

Global Variables
	       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 cor-
	       responds 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_DBsin-

		       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

       PL_rs   The input record separator - $/ in Perl space.

		       SV*     PL_rs

GV Functions
	       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 select-
	       ing particular classes of magical variable.

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

IO Functions
	       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 process.  Moving it away shrinks
	       pp_hot.c; shrinking pp_hot.c helps speed perl up.

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

Pad Data Structures
	       CV's can have CvPADLIST(cv) set to point to an AV.

	       For these purposes "forms" are a kind-of CV, eval""s are too (except they're not
	       callable at will and are always thrown away after the eval"" is done executing).

	       XSUBs don't have CvPADLIST set - dXSTARG fetches values from PL_curpad, but that
	       is really the callers pad (a slot of which is allocated by every entersub).

	       The CvPADLIST AV has does not have AvREAL set, so REFCNT of component items is
	       managed "manual" (mostly in op.c) rather than normal av.c rules.  The items in the
	       AV are not SVs as for a normal AV, but other AVs:

	       0'th Entry of the CvPADLIST is an AV which represents the "names" or rather the
	       "static type information" for lexicals.

	       The CvDEPTH'th entry of CvPADLIST AV is an AV which is the stack frame at that
	       depth of recursion into the CV.	The 0'th slot of a frame AV is an AV which is @_.
	       other entries are storage for variables and op targets.

	       During compilation: "PL_comppad_name" is set the the the names AV.  "PL_comppad"
	       is set the the frame AV for the frame CvDEPTH == 1.  "PL_curpad" is set the body
	       of the frame AV (i.e. AvARRAY(PL_comppad)).

	       Itterating over the names AV itterates over all possible pad items. Pad slots that
	       are SVs_PADTMP (targets/GVs/constants) end up having &PL_sv_undef "names" (see

	       Only my/our variable (SVs_PADMY/SVs_PADOUR) slots get valid names.  The rest are
	       op targets/GVs/constants which are statically allocated or resolved at compile
	       time.  These don't have names by which they can be looked up from Perl code at run
	       time through eval"" like my/our variables can be.  Since they can't be looked up
	       by "name" but only by their index allocated at compile time (which is usually in
	       PL_op->op_targ), wasting a name SV for them doesn't make sense.

	       The SVs in the names AV have their PV being the name of the variable.  NV+1..IV
	       inclusive is a range of cop_seq numbers for which the name is valid.  For typed
	       lexicals name SV is SVt_PVMG and SvSTASH points at the type.

	       If SvFAKE is set on the name SV then slot in the frame AVs are a REFCNT'ed refer-
	       ences to a lexical from "outside".

	       If the 'name' is '&' the the corresponding entry in frame AV is a CV representing
	       a possible closure.  (SvFAKE and name of '&' is not a meaningful combination cur-
	       rently but could become so if "my sub foo {}" is implemented.)

		       AV *    CvPADLIST(CV *cv)

Stack Manipulation Macros
       djSP    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.)


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

SV Manipulation Functions
	       Print appropriate "Use of uninitialized variable" warning

		       void    report_uninit()

	       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. Doc-
       umentation is by whoever was kind enough to document their functions.

       perlguts(1), perlapi(1)

perl v5.8.0				    2003-02-18				    PERLINTERN(1)

All times are GMT -4. The time now is 06:51 AM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
Show Password