Perl 中的 use base 的用法

 

use base 是面向对象编程时,用来描述“基类”的,其实说白了,

use base somemodule;
就相当于以下两句的结合:

BEGIN{
    use somemodule ();
    push @ISA,qw(somemodule);
}
也可以同时 use base 两个或者两个以上的模块,例如:

use base qw(Foo Bar);
就相当于:

BEGIN {
    use Foo ();
    use Bar ();
    push @ISA,qw(Foo Bar);
}
至于 @ISA 是个什么样的数组,这完全不关 use base 的事,
只不过,@ISA 是一个比较特殊的数组,它的含义可以参见大骆驼中的描述。

顺便说一下,


use Foo ();

use Foo;
是不同的,
后者会自动调用 Foo 包里的 import 函数,而前者不会。

use base somemodule;

use somemodule;
多了并且只多了一句
push @ISA,qw(somemodule);

 

转载:http://blog.csdn.net/zll01/article/details/4520237

相关文章

1. 如何去重 #!/usr/bin/perl use strict; my %hash; while(...
最近写了一个perl脚本,实现的功能是将表格中其中两列的数据...
表的数据字典格式如下:如果手动写MySQL建表语句,确认麻烦,...
巡检类工作经常会出具日报,最近在原有日报的基础上又新增了...
在实际生产环境中,常常需要从后台日志中截取报文,报文的形...
最近写的一个perl程序,通过关键词匹配统计其出现的频率,让...