perl 包 笔记

来源:互联网 发布:无人机测量数据 编辑:程序博客网 时间:2024/05/21 09:09
perl 包的使用


perl 包后缀名一般为 .pm
perl包里面可以使用所有的perl数据结构,和自定义函数。

一般perl包的文件名和包名一致,当然也可以不一致,但那样会不容易维护,
.pm文件的末尾用  1; 结束。


vi Conf.pm

#!/usr/bin/perlpackage Conf;require Exporter;@ISA=qw(Exporter); @EXPORT=qw(ret); #在此数组中表明允许使用者使用哪些变量及函数;my @arr=({'name'=>'Tom','age'=>'3',},);sub ret(){return \@arr;}1;
vi main.pl
#!/usr/bin/perluse Data::Dumper;use Conf;my $a=ret();print $a->[0]->{'name'};


运行结果:



上面是perl包的基本用法。
除此之外,perl包还可以当类使用:
vi class.pm

#!/usr/bin/perlpackage class;@ISA=(Exporter);sub new(){my $class=shift;my $self={};print "$class\n";$self->{'word'}=shift;bless $self,$class;return $self;}sub s_print(){$self=shift;print "$self->{'word'}\n";}1;


vi class.pl

#!/usr/bin/perluse class;my $cl=class->new("I'm coming \n");$cl->s_print();




有两点需要明白:
1.包名可以用 "->" 符号调用包里面的所有方法。
2.对象可以用 "->" 符号调用包里面除了 new 之外的所用方法。


关于包里面的方法:
1. new方法的第一个参数是 类名(包名)。
2. 其他方法的第一个参数是调用它的对象名或者类名。
这样 perl便可以实现面向对象。

1 0
原创粉丝点击