Perl OO & Atributos com Class::Accessor
O intuito deste script foi mostrar como pode ser fácil criar classes com atributos e accessors através do Class::Accessor.
OBSERVAÇÂO:
Este script depende do módulo Class::Accessor... para instalar o mesmo segue o comando:
$ sudo perl -MCPAN -e "install Class::Accessor"
PERL DOC Class::Accessor:
http://search.cpan.org/~kasei/Class-Accessor-0.34/lib/Class/Accessor.pm
OBSERVAÇÂO:
Este script depende do módulo Class::Accessor... para instalar o mesmo segue o comando:
$ sudo perl -MCPAN -e "install Class::Accessor"
PERL DOC Class::Accessor:
http://search.cpan.org/~kasei/Class-Accessor-0.34/lib/Class/Accessor.pm
Descrição
O intuito deste script foi mostrar como pode ser fácil criar classes com atributos e accessors através do Class::Accessor.
OBSERVAÇÂO:
Este script depende do módulo Class::Accessor... para instalar o mesmo segue o comando:
$ sudo perl -MCPAN -e "install Class::Accessor"
PERL DOC Class::Accessor:
http://search.cpan.org/~kasei/Class-Accessor-0.34/lib/Class/Accessor.pm
OBSERVAÇÂO:
Este script depende do módulo Class::Accessor... para instalar o mesmo segue o comando:
$ sudo perl -MCPAN -e "install Class::Accessor"
PERL DOC Class::Accessor:
http://search.cpan.org/~kasei/Class-Accessor-0.34/lib/Class/Accessor.pm
Versões atualizadas deste script
#!/usr/bin/perl -w
# (c) 2011 Bivee. All rights reserveds.
# author dvicniguerra < dan.vinciguerra at gmail.com >
#
# This script is distributed under Perl Itself License
# declaring Pessoa class
package Pessoa;
# This module provide a constructor and att declarations
# like Moose this way.
use Class::Accessor "antlers";
# nome attribute
has nome => (
is => "rw",
isa => "Str"
);
# email attribute
has email => (
is => "rw",
isa => "Str"
);
# idade attribute
has idade => (
is => "rw",
isa => "Num"
);
# meet method show some info about Pessoa object
sub meeting_you {
my $self = shift;
print "Hi " . $self->nome . ", you have " . $self->idade . " years old and your email is " . $self->email;
}
# now we can call the class
package main;
# getting a new pessoa object
my $p = Pessoa->new({
nome => 'Daniel Vinciguerra',
idade => 23,
email => 'daniel.vinciguerra@test.com'
});
# calling meeting_you method from Pessoa object
$p->meeting_you;