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

📄 warnings.pm

📁 视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.
💻 PM
📖 第 1 页 / 共 2 页
字号:
    'glob'		=> "\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [4]    'inplace'		=> "\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00", # [23]    'internal'		=> "\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00", # [24]    'io'		=> "\x00\xa8\xaa\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [5..11]    'layer'		=> "\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [8]    'malloc'		=> "\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00", # [25]    'misc'		=> "\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00", # [12]    'newline'		=> "\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [9]    'numeric'		=> "\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00", # [13]    'once'		=> "\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00", # [14]    'overflow'		=> "\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00", # [15]    'pack'		=> "\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00", # [16]    'parenthesis'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00", # [32]    'pipe'		=> "\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [10]    'portable'		=> "\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00", # [17]    'precedence'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00", # [33]    'printf'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00", # [34]    'prototype'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00", # [35]    'qw'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00", # [36]    'recursion'		=> "\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00", # [18]    'redefine'		=> "\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00", # [19]    'regexp'		=> "\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00", # [20]    'reserved'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00", # [37]    'semicolon'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00", # [38]    'severe'		=> "\x00\x00\x00\x00\x00\xa8\x0a\x00\x00\x00\x00\x00", # [21..25]    'signal'		=> "\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00", # [26]    'substr'		=> "\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00", # [27]    'syntax'		=> "\x00\x00\x00\x00\x00\x00\x00\xaa\xaa\x2a\x00\x00", # [28..38]    'taint'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00", # [39]    'threads'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00", # [40]    'uninitialized'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00", # [41]    'unopened'		=> "\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [11]    'unpack'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00", # [42]    'untie'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00", # [43]    'utf8'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02", # [44]    'void'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08", # [45]  );$NONE     = "\0\0\0\0\0\0\0\0\0\0\0\0";$LAST_BIT = 92 ;$BYTES    = 12 ;$All = "" ; vec($All, $Offsets{'all'}, 2) = 3 ;sub Croaker{    require Carp::Heavy; # this initializes %CarpInternal    local $Carp::CarpInternal{'warnings'};    delete $Carp::CarpInternal{'warnings'};    Carp::croak(@_);}sub bits{    # called from B::Deparse.pm    push @_, 'all' unless @_;    my $mask;    my $catmask ;    my $fatal = 0 ;    my $no_fatal = 0 ;    foreach my $word ( @_ ) {	if ($word eq 'FATAL') {	    $fatal = 1;	    $no_fatal = 0;	}	elsif ($word eq 'NONFATAL') {	    $fatal = 0;	    $no_fatal = 1;	}	elsif ($catmask = $Bits{$word}) {	    $mask |= $catmask ;	    $mask |= $DeadBits{$word} if $fatal ;	    $mask &= ~($DeadBits{$word}|$All) if $no_fatal ;	}	else          { Croaker("Unknown warnings category '$word'")}    }    return $mask ;}sub import {    shift;    my $catmask ;    my $fatal = 0 ;    my $no_fatal = 0 ;    my $mask = ${^WARNING_BITS} ;    if (vec($mask, $Offsets{'all'}, 1)) {        $mask |= $Bits{'all'} ;        $mask |= $DeadBits{'all'} if vec($mask, $Offsets{'all'}+1, 1);    }        push @_, 'all' unless @_;    foreach my $word ( @_ ) {	if ($word eq 'FATAL') {	    $fatal = 1;	    $no_fatal = 0;	}	elsif ($word eq 'NONFATAL') {	    $fatal = 0;	    $no_fatal = 1;	}	elsif ($catmask = $Bits{$word}) {	    $mask |= $catmask ;	    $mask |= $DeadBits{$word} if $fatal ;	    $mask &= ~($DeadBits{$word}|$All) if $no_fatal ;	}	else          { Croaker("Unknown warnings category '$word'")}    }    ${^WARNING_BITS} = $mask ;}sub unimport {    shift;    my $catmask ;    my $mask = ${^WARNING_BITS} ;    if (vec($mask, $Offsets{'all'}, 1)) {        $mask |= $Bits{'all'} ;        $mask |= $DeadBits{'all'} if vec($mask, $Offsets{'all'}+1, 1);    }    push @_, 'all' unless @_;    foreach my $word ( @_ ) {	if ($word eq 'FATAL') {	    next; 	}	elsif ($catmask = $Bits{$word}) {	    $mask &= ~($catmask | $DeadBits{$word} | $All);	}	else          { Croaker("Unknown warnings category '$word'")}    }    ${^WARNING_BITS} = $mask ;}my %builtin_type; @builtin_type{qw(SCALAR ARRAY HASH CODE REF GLOB LVALUE Regexp)} = ();sub __chk{    my $category ;    my $offset ;    my $isobj = 0 ;    if (@_) {        # check the category supplied.        $category = shift ;        if (my $type = ref $category) {            Croaker("not an object")                if exists $builtin_type{$type};	    $category = $type;            $isobj = 1 ;        }        $offset = $Offsets{$category};        Croaker("Unknown warnings category '$category'")	    unless defined $offset;    }    else {        $category = (caller(1))[0] ;        $offset = $Offsets{$category};        Croaker("package '$category' not registered for warnings")	    unless defined $offset ;    }    my $this_pkg = (caller(1))[0] ;    my $i = 2 ;    my $pkg ;    if ($isobj) {        while (do { { package DB; $pkg = (caller($i++))[0] } } ) {            last unless @DB::args && $DB::args[0] =~ /^$category=/ ;        }	$i -= 2 ;    }    else {        $i = _error_loc(); # see where Carp will allocate the error    }    my $callers_bitmask = (caller($i))[9] ;    return ($callers_bitmask, $offset, $i) ;}sub _error_loc {    require Carp::Heavy;    goto &Carp::short_error_loc; # don't introduce another stack frame}                                                             sub enabled{    Croaker("Usage: warnings::enabled([category])")	unless @_ == 1 || @_ == 0 ;    my ($callers_bitmask, $offset, $i) = __chk(@_) ;    return 0 unless defined $callers_bitmask ;    return vec($callers_bitmask, $offset, 1) ||           vec($callers_bitmask, $Offsets{'all'}, 1) ;}sub warn{    Croaker("Usage: warnings::warn([category,] 'message')")	unless @_ == 2 || @_ == 1 ;    my $message = pop ;    my ($callers_bitmask, $offset, $i) = __chk(@_) ;    require Carp;    Carp::croak($message)	if vec($callers_bitmask, $offset+1, 1) ||	   vec($callers_bitmask, $Offsets{'all'}+1, 1) ;    Carp::carp($message) ;}sub warnif{    Croaker("Usage: warnings::warnif([category,] 'message')")	unless @_ == 2 || @_ == 1 ;    my $message = pop ;    my ($callers_bitmask, $offset, $i) = __chk(@_) ;    return        unless defined $callers_bitmask &&            	(vec($callers_bitmask, $offset, 1) ||            	vec($callers_bitmask, $Offsets{'all'}, 1)) ;    require Carp;    Carp::croak($message)	if vec($callers_bitmask, $offset+1, 1) ||	   vec($callers_bitmask, $Offsets{'all'}+1, 1) ;    Carp::carp($message) ;}1;# ex: set ro:

⌨️ 快捷键说明

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