perl 包 筆記

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;


vi class.pl

#!/usr/bin/perl

use class;
my $cl=class->new("I'm coming \n");

$cl->s_print();




有兩點需要明白:
1.包名可以用 "->" 符號調用包裏面的所有方法。
2.對象可以用 "->" 符號調用包裏面除了 new 之外的所用方法。


關於包裏面的方法:
1. new方法的第一個參數是 類名(包名)。
2. 其他方法的第一個參數是調用它的對象名或者類名。
這樣 perl便可以實現面向對象。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章