📄 perlapi.pod
字号:
=for hackersFound in file sv.h=item SvIOK_UVReturns a boolean indicating whether the SV contains an unsigned integer. void SvIOK_UV(SV* sv)=for hackersFound in file sv.h=item SvIVCoerces the given SV to an integer and returns it. IV SvIV(SV* sv)=for hackersFound in file sv.h=item SvIVXReturns the integer which is stored in the SV, assuming SvIOK istrue. IV SvIVX(SV* sv)=for hackersFound in file sv.h=item SvLENReturns the size of the string buffer in the SV, not including any partattributable to C<SvOOK>. See C<SvCUR>. STRLEN SvLEN(SV* sv)=for hackersFound in file sv.h=item SvNIOKReturns a boolean indicating whether the SV contains a number, integer ordouble. bool SvNIOK(SV* sv)=for hackersFound in file sv.h=item SvNIOKpReturns a boolean indicating whether the SV contains a number, integer ordouble. Checks the B<private> setting. Use C<SvNIOK>. bool SvNIOKp(SV* sv)=for hackersFound in file sv.h=item SvNIOK_offUnsets the NV/IV status of an SV. void SvNIOK_off(SV* sv)=for hackersFound in file sv.h=item SvNOKReturns a boolean indicating whether the SV contains a double. bool SvNOK(SV* sv)=for hackersFound in file sv.h=item SvNOKpReturns a boolean indicating whether the SV contains a double. Checks theB<private> setting. Use C<SvNOK>. bool SvNOKp(SV* sv)=for hackersFound in file sv.h=item SvNOK_offUnsets the NV status of an SV. void SvNOK_off(SV* sv)=for hackersFound in file sv.h=item SvNOK_onTells an SV that it is a double. void SvNOK_on(SV* sv)=for hackersFound in file sv.h=item SvNOK_onlyTells an SV that it is a double and disables all other OK bits. void SvNOK_only(SV* sv)=for hackersFound in file sv.h=item SvNVCoerce the given SV to a double and return it. NV SvNV(SV* sv)=for hackersFound in file sv.h=item SvNVXReturns the double which is stored in the SV, assuming SvNOK istrue. NV SvNVX(SV* sv)=for hackersFound in file sv.h=item SvOKReturns a boolean indicating whether the value is an SV. bool SvOK(SV* sv)=for hackersFound in file sv.h=item SvOOKReturns a boolean indicating whether the SvIVX is a valid offset value forthe SvPVX. This hack is used internally to speed up removal of charactersfrom the beginning of a SvPV. When SvOOK is true, then the start of theallocated string buffer is really (SvPVX - SvIVX). bool SvOOK(SV* sv)=for hackersFound in file sv.h=item SvPOKReturns a boolean indicating whether the SV contains a characterstring. bool SvPOK(SV* sv)=for hackersFound in file sv.h=item SvPOKpReturns a boolean indicating whether the SV contains a character string.Checks the B<private> setting. Use C<SvPOK>. bool SvPOKp(SV* sv)=for hackersFound in file sv.h=item SvPOK_offUnsets the PV status of an SV. void SvPOK_off(SV* sv)=for hackersFound in file sv.h=item SvPOK_onTells an SV that it is a string. void SvPOK_on(SV* sv)=for hackersFound in file sv.h=item SvPOK_onlyTells an SV that it is a string and disables all other OK bits. void SvPOK_only(SV* sv)=for hackersFound in file sv.h=item SvPOK_only_UTF8Tells an SV that it is a UTF8 string (do not use frivolously)and disables all other OK bits. void SvPOK_only_UTF8(SV* sv)=for hackersFound in file sv.h=item SvPVReturns a pointer to the string in the SV, or a stringified form of the SVif the SV does not contain a string. Handles 'get' magic. char* SvPV(SV* sv, STRLEN len)=for hackersFound in file sv.h=item SvPVXReturns a pointer to the string in the SV. The SV must contain astring. char* SvPVX(SV* sv)=for hackersFound in file sv.h=item SvPV_forceLike <SvPV> but will force the SV into becoming a string (SvPOK). You wantforce if you are going to update the SvPVX directly. char* SvPV_force(SV* sv, STRLEN len)=for hackersFound in file sv.h=item SvPV_nolenReturns a pointer to the string in the SV, or a stringified form of the SVif the SV does not contain a string. Handles 'get' magic. char* SvPV_nolen(SV* sv)=for hackersFound in file sv.h=item SvREFCNTReturns the value of the object's reference count. U32 SvREFCNT(SV* sv)=for hackersFound in file sv.h=item SvREFCNT_decDecrements the reference count of the given SV. void SvREFCNT_dec(SV* sv)=for hackersFound in file sv.h=item SvREFCNT_incIncrements the reference count of the given SV. SV* SvREFCNT_inc(SV* sv)=for hackersFound in file sv.h=item SvROKTests if the SV is an RV. bool SvROK(SV* sv)=for hackersFound in file sv.h=item SvROK_offUnsets the RV status of an SV. void SvROK_off(SV* sv)=for hackersFound in file sv.h=item SvROK_onTells an SV that it is an RV. void SvROK_on(SV* sv)=for hackersFound in file sv.h=item SvRVDereferences an RV to return the SV. SV* SvRV(SV* sv)=for hackersFound in file sv.h=item SvSETMAGICInvokes C<mg_set> on an SV if it has 'set' magic. This macro evaluates itsargument more than once. void SvSETMAGIC(SV* sv)=for hackersFound in file sv.h=item SvSetSVCalls C<sv_setsv> if dsv is not the same as ssv. May evaluate argumentsmore than once. void SvSetSV(SV* dsb, SV* ssv)=for hackersFound in file sv.h=item SvSetSV_nostealCalls a non-destructive version of C<sv_setsv> if dsv is not the same asssv. May evaluate arguments more than once. void SvSetSV_nosteal(SV* dsv, SV* ssv)=for hackersFound in file sv.h=item SvSTASHReturns the stash of the SV. HV* SvSTASH(SV* sv)=for hackersFound in file sv.h=item SvTAINTTaints an SV if tainting is enabled void SvTAINT(SV* sv)=for hackersFound in file sv.h=item SvTAINTEDChecks to see if an SV is tainted. Returns TRUE if it is, FALSE ifnot. bool SvTAINTED(SV* sv)=for hackersFound in file sv.h=item SvTAINTED_offUntaints an SV. Be I<very> careful with this routine, as it short-circuitssome of Perl's fundamental security features. XS module authors should notuse this function unless they fully understand all the implications ofunconditionally untainting the value. Untainting should be done in thestandard perl fashion, via a carefully crafted regexp, rather than directlyuntainting variables. void SvTAINTED_off(SV* sv)=for hackersFound in file sv.h=item SvTAINTED_onMarks an SV as tainted. void SvTAINTED_on(SV* sv)=for hackersFound in file sv.h=item SvTRUEReturns a boolean indicating whether Perl would evaluate the SV as true orfalse, defined or undefined. Does not handle 'get' magic. bool SvTRUE(SV* sv)=for hackersFound in file sv.h=item svtypeAn enum of flags for Perl types. These are found in the file B<sv.h> in the C<svtype> enum. Test these flags with the C<SvTYPE> macro.=for hackersFound in file sv.h=item SvTYPEReturns the type of the SV. See C<svtype>. svtype SvTYPE(SV* sv)=for hackersFound in file sv.h=item SVt_IVInteger type flag for scalars. See C<svtype>.=for hackersFound in file sv.h=item SVt_NVDouble type flag for scalars. See C<svtype>.=for hackersFound in file sv.h=item SVt_PVPointer type flag for scalars. See C<svtype>.=for hackersFound in file sv.h=item SVt_PVAVType flag for arrays. See C<svtype>.=for hackersFound in file sv.h=item SVt_PVCVType flag for code refs. See C<svtype>.=for hackersFound in file sv.h=item SVt_PVHVType flag for hashes. See C<svtype>.=for hackersFound in file sv.h=item SVt_PVMGType flag for blessed scalars. See C<svtype>.=for hackersFound in file sv.h=item SvUPGRADEUsed to upgrade an SV to a more complex form. Uses C<sv_upgrade> toperform the upgrade if necessary. See C<svtype>. void SvUPGRADE(SV* sv, svtype type)=for hackersFound in file sv.h=item SvUTF8Returns a boolean indicating whether the SV contains UTF-8 encoded data. void SvUTF8(SV* sv)=for hackersFound in file sv.h=item SvUTF8_offUnsets the UTF8 status of an SV. void SvUTF8_off(SV *sv)=for hackersFound in file sv.h=item SvUTF8_onTells an SV that it is a string and encoded in UTF8. Do not use frivolously. void SvUTF8_on(SV *sv)=for hackersFound in file sv.h=item SvUVCoerces the given SV to an unsigned integer and returns it. UV SvUV(SV* sv)=for hackersFound in file sv.h=item SvUVXReturns the unsigned integer which is stored in the SV, assuming SvIOK istrue. UV SvUVX(SV* sv)=for hackersFound in file sv.h=item sv_2mortalMarks an SV as mortal. The SV will be destroyed when the current contextends. SV* sv_2mortal(SV* sv)=for hackersFound in file sv.c=item sv_blessBlesses an SV into a specified package. The SV must be an RV. The packagemust be designated by its stash (see C<gv_stashpv()>). The reference countof the SV is unaffected. SV* sv_bless(SV* sv, HV* stash)=for hackersFound in file sv.c=item sv_catpvConcatenates the string onto the end of the string which is in the SV.Handles 'get' magic, but not 'set' magic. See C<sv_catpv_mg>. void sv_catpv(SV* sv, const char* ptr)=for hackersFound in file sv.c=item sv_catpvfProcesses its arguments like C<sprintf> and appends the formatted outputto an SV. Handles 'get' magic, but not 'set' magic. C<SvSETMAGIC()> musttypically be called after calling this function to handle 'set' magic. void sv_catpvf(SV* sv, const char* pat, ...)=for hackersFound in file sv.c=item sv_catpvf_mgLike C<sv_catpvf>, but also handles 'set' magic. void sv_catpvf_mg(SV *sv, const char* pat, ...)=for hackersFound in file sv.c=item sv_catpvnConcatenates the string onto the end of the string which is in the SV. TheC<len> indicates number of bytes to copy. Handles 'get' magic, but not'set' magic. See C<sv_catpvn_mg>. void sv_catpvn(SV* sv, const char* ptr, STRLEN len)=for hackersFound in file sv.c=item sv_catpvn_mgLike C<sv_catpvn>, but also handles 'set' magic. void sv_catpvn_mg(SV *sv, const char *ptr, STRLEN len)=for hackersFound in file sv.c=item sv_catpv_mgLike C<sv_catpv>, but also handles 'set' magic. void sv_catpv_mg(SV *sv, const char *ptr)=for hackersFound in file sv.c=item sv_catsvConcatenates the string from SV C<ssv> onto the end of the string inSV C<dsv>. Modifies C<dsv> but not C<ssv>. Handles 'get' magic, butnot 'set' magic. See C<sv_catsv_mg>. void sv_catsv(SV* dsv, SV* ssv)=for hackersFound in file sv.c=item sv_catsv_mgLike C<sv_catsv>, but also handles 'set' magic. void sv_catsv_mg(SV *dstr, SV *sstr)=for hackersFound in file sv.c=item sv_chopEfficient removal of characters from the beginning of the string buffer. SvPOK(sv) must be true and the C<ptr> must be a pointer to somewhere insidethe string buffer. The C<ptr> becomes the first character of the adjustedstring. void sv_chop(SV* sv, char* ptr)=for hackersFound in file sv.c=item sv_clear
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -