perl 包的使用
perl 包后缀名一般为 .pm
perl包里面可以使用所有的perl数据结构,和自定义函数。
一般perl包的文件名和包名一致,当然也可以不一致,但那样会不容易维护,
.pm文件的末尾用 1; 结束。
上面是perl包的基本用法。
除此之外,perl包还可以当类使用:
vi class.pm
1.包名可以用 "->" 符号调用包里面的所有方法。
2.对象可以用 "->" 符号调用包里面除了 new 之外的所用方法。
关于包里面的方法:
1. new方法的第一个参数是 类名(包名)。
2. 其他方法的第一个参数是调用它的对象名或者类名。
这样 perl便可以实现面向对象。
perl 包后缀名一般为 .pm
perl包里面可以使用所有的perl数据结构,和自定义函数。
一般perl包的文件名和包名一致,当然也可以不一致,但那样会不容易维护,
.pm文件的末尾用 1; 结束。
vi Conf.pm
#!/usr/bin/perl
package 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/perl
use Data::Dumper;
use Conf;
my $a=ret();
print $a->[0]->{'name'};
运行结果:
上面是perl包的基本用法。
除此之外,perl包还可以当类使用:
vi class.pm
#!/usr/bin/perl
package 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;
#!/usr/bin/perl
use class;
my $cl=class->new("I'm coming \n");
$cl->s_print();
1.包名可以用 "->" 符号调用包里面的所有方法。
2.对象可以用 "->" 符号调用包里面除了 new 之外的所用方法。
关于包里面的方法:
1. new方法的第一个参数是 类名(包名)。
2. 其他方法的第一个参数是调用它的对象名或者类名。
这样 perl便可以实现面向对象。