⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 variables

📁 source of perl for linux application,
💻
字号:
####################################################################################  $Revision: 13 $##  $Author: mhx $##  $Date: 2007/10/04 10:21:28 +0200 $######################################################################################  Version 3.x, Copyright (C) 2004-2007, Marcus Holland-Moritz.##  Version 2.x, Copyright (C) 2001, Paul Marquess.##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.####  This program is free software; you can redistribute it and/or##  modify it under the same terms as Perl itself.##################################################################################=providesPL_ppaddrPL_no_modifyPL_DBsignalPL_DBsinglePL_DBsubPL_DBtracePL_SvPL_compilingPL_coplinePL_curcopPL_curstashPL_debstashPL_defgvPL_diehookPL_dirtyPL_dowarnPL_errgvPL_expectPL_hexdigitPL_hintsPL_laststatvalPL_naPL_perl_destruct_levelPL_perldbPL_rsfp_filtersPL_rsfpPL_stack_basePL_stack_spPL_statcachePL_stdingvPL_sv_arenarootPL_sv_noPL_sv_undefPL_sv_yesPL_taintedPL_taintingPL_signalsPERL_SIGNALS_UNSAFE_FLAG=dontwarnD_PPP_PERL_SIGNALS_INIT=implementation#ifndef PERL_SIGNALS_UNSAFE_FLAG#define PERL_SIGNALS_UNSAFE_FLAG 0x0001#if { VERSION < 5.8.0 }#  define D_PPP_PERL_SIGNALS_INIT   PERL_SIGNALS_UNSAFE_FLAG#else#  define D_PPP_PERL_SIGNALS_INIT   0#endif__NEED_VAR__ U32 PL_signals = D_PPP_PERL_SIGNALS_INIT;#endif/* Hint: PL_ppaddr * Calling an op via PL_ppaddr requires passing a context argument * for threaded builds. Since the context argument is different for * 5.005 perls, you can use aTHXR (supplied by ppport.h), which will * automatically be defined as the correct argument. */#if { VERSION <= 5.005_05 }/* Replace: 1 */#  define PL_ppaddr                 ppaddr#  define PL_no_modify              no_modify/* Replace: 0 */#endif#if { VERSION <= 5.004_05 }/* Replace: 1 */#  define PL_DBsignal               DBsignal#  define PL_DBsingle               DBsingle#  define PL_DBsub                  DBsub#  define PL_DBtrace                DBtrace#  define PL_Sv                     Sv#  define PL_compiling              compiling#  define PL_copline                copline#  define PL_curcop                 curcop#  define PL_curstash               curstash#  define PL_debstash               debstash#  define PL_defgv                  defgv#  define PL_diehook                diehook#  define PL_dirty                  dirty#  define PL_dowarn                 dowarn#  define PL_errgv                  errgv#  define PL_expect                 expect#  define PL_hexdigit               hexdigit#  define PL_hints                  hints#  define PL_laststatval            laststatval#  define PL_na                     na#  define PL_perl_destruct_level    perl_destruct_level#  define PL_perldb                 perldb#  define PL_rsfp_filters           rsfp_filters#  define PL_rsfp                   rsfp#  define PL_stack_base             stack_base#  define PL_stack_sp               stack_sp#  define PL_statcache              statcache#  define PL_stdingv                stdingv#  define PL_sv_arenaroot           sv_arenaroot#  define PL_sv_no                  sv_no#  define PL_sv_undef               sv_undef#  define PL_sv_yes                 sv_yes#  define PL_tainted                tainted#  define PL_tainting               tainting/* Replace: 0 */#endif/* Warning: PL_expect, PL_copline, PL_rsfp, PL_rsfp_filters * Do not use this variable. It is internal to the perl parser * and may change or even be removed in the future. Note that * as of perl 5.9.5 you cannot assign to this variable anymore. *//* TODO: cannot assign to these vars; is it worth fixing? */#if { VERSION >= 5.9.5 }#  define PL_expect         (PL_parser ? PL_parser->expect : 0)#  define PL_copline        (PL_parser ? PL_parser->copline : 0)#  define PL_rsfp           (PL_parser ? PL_parser->rsfp : (PerlIO *) 0)#  define PL_rsfp_filters   (PL_parser ? PL_parser->rsfp_filters : (AV *) 0)#endif=xsinit#define NEED_PL_signals=xsmiscU32 get_PL_signals_1(void){  return PL_signals;}extern U32 get_PL_signals_2(void);extern U32 get_PL_signals_3(void);#define ppp_TESTVAR(var)   STMT_START { XPUSHs(newSViv(&var != NULL)); count++; } STMT_END=xsubsintcompare_PL_signals()	CODE:		{		  U32 ref = get_PL_signals_1();		  RETVAL = ref == get_PL_signals_2() && ref == get_PL_signals_3();		}	OUTPUT:		RETVALSV *PL_sv_undef()	CODE:		RETVAL = newSVsv(&PL_sv_undef);	OUTPUT:		RETVALSV *PL_sv_yes()	CODE:		RETVAL = newSVsv(&PL_sv_yes);	OUTPUT:		RETVALSV *PL_sv_no()	CODE:		RETVAL = newSVsv(&PL_sv_no);	OUTPUT:		RETVALintPL_na(string)	char *string	CODE:		PL_na = strlen(string);		RETVAL = PL_na;	OUTPUT:		RETVALSV *PL_Sv()	CODE:		PL_Sv = newSVpv("mhx", 0);		RETVAL = PL_Sv;	OUTPUT:		RETVALSV *PL_copline()	CODE:		RETVAL = newSViv((IV) PL_copline);	OUTPUT:		RETVALSV *PL_expect()	CODE:		RETVAL = newSViv((IV) PL_expect);	OUTPUT:		RETVALSV *PL_rsfp()	CODE:		RETVAL = newSViv(PL_rsfp != 0);	OUTPUT:		RETVALSV *PL_rsfp_filters()	CODE:		RETVAL = newSViv(PL_rsfp_filters != 0);	OUTPUT:		RETVALSV *PL_hexdigit()	CODE:		RETVAL = newSVpv((char *) PL_hexdigit, 0);	OUTPUT:		RETVALSV *PL_hints()	CODE:		RETVAL = newSViv((IV) PL_hints);	OUTPUT:		RETVALvoidPL_ppaddr(string)	char *string	PPCODE:		PUSHMARK(SP);		XPUSHs(sv_2mortal(newSVpv(string, 0)));		PUTBACK;		ENTER;		(void)*(PL_ppaddr[OP_UC])(aTHXR);		SPAGAIN;		LEAVE;		XSRETURN(1);voidother_variables()	PREINIT:		int count = 0;	PPCODE:		ppp_TESTVAR(PL_DBsignal);		ppp_TESTVAR(PL_DBsingle);		ppp_TESTVAR(PL_DBsub);		ppp_TESTVAR(PL_DBtrace);		ppp_TESTVAR(PL_compiling);		ppp_TESTVAR(PL_curcop);		ppp_TESTVAR(PL_curstash);		ppp_TESTVAR(PL_debstash);		ppp_TESTVAR(PL_defgv);		ppp_TESTVAR(PL_diehook);		ppp_TESTVAR(PL_dirty);		ppp_TESTVAR(PL_dowarn);		ppp_TESTVAR(PL_errgv);		ppp_TESTVAR(PL_laststatval);		ppp_TESTVAR(PL_no_modify);		ppp_TESTVAR(PL_perl_destruct_level);		ppp_TESTVAR(PL_perldb);		ppp_TESTVAR(PL_stack_base);		ppp_TESTVAR(PL_stack_sp);		ppp_TESTVAR(PL_statcache);		ppp_TESTVAR(PL_stdingv);		ppp_TESTVAR(PL_sv_arenaroot);		ppp_TESTVAR(PL_tainted);		ppp_TESTVAR(PL_tainting);		XSRETURN(count);=tests plan => 37ok(Devel::PPPort::compare_PL_signals());ok(!defined(&Devel::PPPort::PL_sv_undef()));ok(&Devel::PPPort::PL_sv_yes());ok(!&Devel::PPPort::PL_sv_no());ok(&Devel::PPPort::PL_na("abcd"), 4);ok(&Devel::PPPort::PL_Sv(), "mhx");ok(defined &Devel::PPPort::PL_copline());ok(defined &Devel::PPPort::PL_expect());ok(defined &Devel::PPPort::PL_rsfp());ok(defined &Devel::PPPort::PL_rsfp_filters());ok(&Devel::PPPort::PL_hexdigit() =~ /^[0-9a-zA-Z]+$/);ok(defined &Devel::PPPort::PL_hints());ok(&Devel::PPPort::PL_ppaddr("mhx"), "MHX");for (&Devel::PPPort::other_variables()) {  ok($_ != 0);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -