码迷,mamicode.com
首页 > 其他好文 > 详细

perl moose 修饰器

时间:2014-08-27 10:47:47      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:os   使用   for   ar   2014   sp   new   on   ef   

原理上就是在调用某个方法之前,先做一些事情,比如检查参数什么的,在Dancer中也有这个关键字,可以在request到来的时候,通过检查

远程ip来判断是否是非法的ip请求

 

#!/usr/bin/perl
# file : before.pl
# date : 2014/08/26
# author : darkstar

#使用moose 定义一个类


package Person;
use Moose;

has ‘name‘ => (
    is => ‘ro‘,
    isa => ‘Str‘,
    required => 1,
);

has ‘age‘ => (
    is => ‘rw‘,
    isa => ‘Int‘,
    required => 1,
);

# 喝酒前检查年龄是否18 ,年龄检查的逻辑可以放在 drink_Brandy 里也行,这里是为了

# 体现before的功能


before ‘drink_Brandy‘ => sub {
    my $self = shift;
    if ($self->age > 18 ) {
        print "you can drink Brandy!\n"
    }
    else {
        print "get out boy!\n";
        exit;
    }
};

sub drink_Brandy {
    print "Good!\n";
};

1;

use Person;
# 生成一个person对象,16岁
my $p1 = Person->new(name =>‘dark‘, age => 16);

print $p1->name, "\n";
print $p1->age, "\n";

$p1->drink_Brandy;   #直接喝酒,before 替我们把关年龄,不满18就中断程序

# 程序输出如下:

dark
16
get out boy!  # 小孩子 回家去!

perl moose 修饰器

标签:os   使用   for   ar   2014   sp   new   on   ef   

原文地址:http://www.cnblogs.com/huangv1/p/3938694.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!