++ed by:

100 PAUSE users
204 non-PAUSE users.

Andrew Main (Zefram)
and 1 contributors

SV Flags

SV Manipulation Functions

All of the following SvREFCNT_inc* macros are optimized versions of SvREFCNT_inc, and can be replaced with SvREFCNT_inc.

This is also used to store the name of an autoloaded subroutine in an XS AUTOLOAD routine. See "Autoloading with XSUBs" in perlguts.

Warning: If SvCUR is equal to SvLEN, then SvEND points to unallocated memory.

Returns true if the SV has get magic or overloading. If either is true then the scalar is active data, and has the potential to return a new value every time it is accessed. Hence you must be careful to only read it once per user logical operation and work with that returned value. If neither is true then the scalar's value cannot change unless written to.

Like sv_utf8_upgrade, but doesn't do magic on sv.

Creates an RV wrapper for an SV. The reference count for the original SV is incremented.

Magical Functions

SV Manipulation Functions

Returns a true SV if b is a true value, or a false SV if b is 0.

See also PL_sv_yes and PL_sv_no.

Creates a new SV and copies a string into it. If utf8 is true, calls SvUTF8_on on the new SV. Implemented as a wrapper around newSVpvn_flags.

Reads into len the offset from SvPVX back to the true start of the allocated buffer, which will be non-zero if sv_chop has been used to efficiently remove characters from start of the buffer. Implemented as a macro, which takes the address of len, which must be of type STRLEN. Evaluates sv more than once. Sets len to 0 if SvOOK(sv) is false.