Acme-BABYMETAL
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/Acme/BABYMETAL/Base.pm view on Meta::CPAN
package Acme::BABYMETAL::Base;
use strict;
use warnings;
use DateTime;
use base qw(Class::Accessor);
our $VERSION = '0.03';
__PACKAGE__->mk_accessors(qw(
metal_name
name_ja
first_name_ja
family_name_ja
name_en
first_name_en
family_name_en
birthday
age
blood_type
hometown
));
sub new {
my $class = shift;
my $self = bless {}, $class;
$self->_initialize;
return $self;
}
sub _initialize {
my $self = shift;
my %info = $self->info;
$self->{$_} = $info{$_} for keys %info;
$self->{name_ja} = $self->family_name_ja . $self->first_name_ja;
$self->{name_en} = $self->first_name_en . ' ' . $self->family_name_en;
my ($year, $month, $day) = ($self->{birthday} =~ /^(\d{4})-(\d{2})-(\d{2})$/);
$self->{age} = (DateTime->now - DateTime->new(
year => $year,
month => $month,
day => $day,
))->years;
return 1;
}
sub shout {
my $self = shift;
print $self->metal_name . " DEATH!!\n";
}
1;
view all matches for this distributionview release on metacpan - search on metacpan
( run in 1.165 second using v1.00-cache-2.02-grep-82fe00e-cpan-72ae3ad1e6da )