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

📄 base.pm

📁 MSYS在windows下模拟了一个类unix的终端
💻 PM
字号:
=head1 NAMEbase - Establish IS-A relationship with base class at compile time=head1 SYNOPSIS    package Baz;    use base qw(Foo Bar);=head1 DESCRIPTIONRoughly similar in effect to    BEGIN {	require Foo;	require Bar;	push @ISA, qw(Foo Bar);    }Will also initialize the %FIELDS hash if one of the base classes hasit.  Multiple inheritance of %FIELDS is not supported.  The 'base'pragma will croak if multiple base classes have a %FIELDS hash.  SeeL<fields> for a description of this feature.When strict 'vars' is in scope I<base> also let you assign to @ISAwithout having to declare @ISA with the 'vars' pragma first.If any of the base classes are not loaded yet, I<base> silentlyC<require>s them.  Whether to C<require> a base class package isdetermined by the absence of a global $VERSION in the base package.If $VERSION is not detected even after loading it, <base> willdefine $VERSION in the base package, setting it to the stringC<-1, set by base.pm>.=head1 HISTORYThis module was introduced with Perl 5.004_04.=head1 SEE ALSOL<fields>=cutpackage base;use 5.005_64;our $VERSION = "1.01";sub import {    my $class = shift;    my $fields_base;    my $pkg = caller(0);    foreach my $base (@_) {	next if $pkg->isa($base);	push @{"$pkg\::ISA"}, $base;	unless (exists ${"$base\::"}{VERSION}) {	    eval "require $base";	    # Only ignore "Can't locate" errors from our eval require.	    # Other fatal errors (syntax etc) must be reported.	    die if $@ && $@ !~ /^Can't locate .*? at \(eval /;	    unless (%{"$base\::"}) {		require Carp;		Carp::croak("Base class package \"$base\" is empty.\n",			    "\t(Perhaps you need to 'use' the module ",			    "which defines that package first.)");	    }	    ${"$base\::VERSION"} = "-1, set by base.pm"		unless exists ${"$base\::"}{VERSION};	}	# A simple test like (defined %{"$base\::FIELDS"}) will	# sometimes produce typo warnings because it would create	# the hash if it was not present before.	my $fglob;	if ($fglob = ${"$base\::"}{"FIELDS"} and *$fglob{HASH}) {	    if ($fields_base) {		require Carp;		Carp::croak("Can't multiply inherit %FIELDS");	    } else {		$fields_base = $base;	    }	}    }    if ($fields_base) {	require fields;	fields::inherit($pkg, $fields_base);    }}1;

⌨️ 快捷键说明

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