📄 warn
字号:
#################################################################################### $Revision: 5 $## $Author: mhx $## $Date: 2007/08/12 23:57:10 +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.##################################################################################=provides__UNDEFINED__ckWARNwarnerPerl_warnerPerl_warner_nocontext=implementation__UNDEFINED__ WARN_ALL 0__UNDEFINED__ WARN_CLOSURE 1__UNDEFINED__ WARN_DEPRECATED 2__UNDEFINED__ WARN_EXITING 3__UNDEFINED__ WARN_GLOB 4__UNDEFINED__ WARN_IO 5__UNDEFINED__ WARN_CLOSED 6__UNDEFINED__ WARN_EXEC 7__UNDEFINED__ WARN_LAYER 8__UNDEFINED__ WARN_NEWLINE 9__UNDEFINED__ WARN_PIPE 10__UNDEFINED__ WARN_UNOPENED 11__UNDEFINED__ WARN_MISC 12__UNDEFINED__ WARN_NUMERIC 13__UNDEFINED__ WARN_ONCE 14__UNDEFINED__ WARN_OVERFLOW 15__UNDEFINED__ WARN_PACK 16__UNDEFINED__ WARN_PORTABLE 17__UNDEFINED__ WARN_RECURSION 18__UNDEFINED__ WARN_REDEFINE 19__UNDEFINED__ WARN_REGEXP 20__UNDEFINED__ WARN_SEVERE 21__UNDEFINED__ WARN_DEBUGGING 22__UNDEFINED__ WARN_INPLACE 23__UNDEFINED__ WARN_INTERNAL 24__UNDEFINED__ WARN_MALLOC 25__UNDEFINED__ WARN_SIGNAL 26__UNDEFINED__ WARN_SUBSTR 27__UNDEFINED__ WARN_SYNTAX 28__UNDEFINED__ WARN_AMBIGUOUS 29__UNDEFINED__ WARN_BAREWORD 30__UNDEFINED__ WARN_DIGIT 31__UNDEFINED__ WARN_PARENTHESIS 32__UNDEFINED__ WARN_PRECEDENCE 33__UNDEFINED__ WARN_PRINTF 34__UNDEFINED__ WARN_PROTOTYPE 35__UNDEFINED__ WARN_QW 36__UNDEFINED__ WARN_RESERVED 37__UNDEFINED__ WARN_SEMICOLON 38__UNDEFINED__ WARN_TAINT 39__UNDEFINED__ WARN_THREADS 40__UNDEFINED__ WARN_UNINITIALIZED 41__UNDEFINED__ WARN_UNPACK 42__UNDEFINED__ WARN_UNTIE 43__UNDEFINED__ WARN_UTF8 44__UNDEFINED__ WARN_VOID 45__UNDEFINED__ WARN_ASSERTIONS 46__UNDEFINED__ packWARN(a) (a)#ifndef ckWARN# ifdef G_WARN_ON# define ckWARN(a) (PL_dowarn & G_WARN_ON)# else# define ckWARN(a) PL_dowarn# endif#endif#if { VERSION >= 5.004 } && !defined(warner)#if { NEED warner }voidwarner(U32 err, const char *pat, ...){ SV *sv; va_list args; PERL_UNUSED_ARG(err); va_start(args, pat); sv = vnewSVpvf(pat, &args); va_end(args); sv_2mortal(sv); warn("%s", SvPV_nolen(sv));}#define warner Perl_warner#define Perl_warner_nocontext Perl_warner#endif#endif=xsinit#define NEED_warner=xsubsvoidwarner() CODE:#if { VERSION >= 5.004 } warner(packWARN(WARN_MISC), "warner %s:%d", "bar", 42);#endifvoidPerl_warner() CODE:#if { VERSION >= 5.004 } Perl_warner(aTHX_ packWARN(WARN_MISC), "Perl_warner %s:%d", "bar", 42);#endifvoidPerl_warner_nocontext() CODE:#if { VERSION >= 5.004 } Perl_warner_nocontext(packWARN(WARN_MISC), "Perl_warner_nocontext %s:%d", "bar", 42);#endifvoidckWARN() CODE:#if { VERSION >= 5.004 } if (ckWARN(WARN_MISC)) Perl_warner_nocontext(packWARN(WARN_MISC), "ckWARN %s:%d", "bar", 42);#endif=tests plan => 5$^W = 0;my $warning;$SIG{'__WARN__'} = sub { $warning = $_[0] };$warning = '';Devel::PPPort::warner();ok($] >= 5.004 ? $warning =~ /^warner bar:42/ : $warning eq '');$warning = '';Devel::PPPort::Perl_warner();ok($] >= 5.004 ? $warning =~ /^Perl_warner bar:42/ : $warning eq '');$warning = '';Devel::PPPort::Perl_warner_nocontext();ok($] >= 5.004 ? $warning =~ /^Perl_warner_nocontext bar:42/ : $warning eq '');$warning = '';Devel::PPPort::ckWARN();ok($warning, '');$^W = 1;$warning = '';Devel::PPPort::ckWARN();ok($] >= 5.004 ? $warning =~ /^ckWARN bar:42/ : $warning eq '');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -