Ejemplo de paso de objetos
#This is perl 5, version 14, subversion 2 (v5.14.2)#File: Example.pm
package Example;
use Moose;
use strict;
use warnings;
#use namespace::autoclean;
has 'c' => (
is => 'rw', #Lectura-Escritura
isa => 'Maybe[Str]', #Tipo String
reader => 'getValor', #getter
writer => 'setValor', #setter
);
sub metodo1{
my ($self) = @_;
my $obj = Example->new(obj=>"Primer valor.");
#$obj = $self->metodo2($obj);
$self->metodo2($obj);
print $obj->getValor() . "\n";#Modificado
return;
}
sub metodo2{
my ($self, $obj) = @_;
$obj->setValor("Modificado..."); #usa el objeto pasado como argumento
return $obj;
}
no Moose;
__PACKAGE__->meta->make_immutable; #no voy a cambiar mi clase
1;
#test_example.pl
#Main.......................................................................
#Main.......................................................................
#!/usr/bin/perl
#use strict;
use warnings;
use Example;
my $ex = Example->new();
print $ex->metodo1();
print "\n";
#...........................................................................end
Resultado:
~/examples$ perl test_example.pl
Modificado...
Modificado...
No hay comentarios:
Publicar un comentario