¿Puede alguien decirme por qué el principal no encuentra los métodos generados por Class :: Accessor en este pequeño y trivial ejemplo?Perl Class :: Falla del accesorio, ejemplo trivial: ¿por qué?
Estas pocas líneas de código fallan con
perl codesnippets/accessor.pl
Can't locate object method "color" via package "Critter" at
codesnippets/accessor.pl line 6.
ver el código:
#!/opt/local/bin/perl
# The whole Class::Accessor thing does not work !!
my $a = Critter->new;
$a->color("blue");
$a->display;
exit 0;
package Critter;
use base qw(Class::Accessor);
Critter->mk_accessors ("color");
sub display {
my $self = shift;
print "i am a $self->color " . ref($self) . ", whatever this word means\n";
}
simplemente he intentado y vi el mismo comportamiento con la clase :: :: Accessor con clase y ratón. –
No utilice Mouse o C: A, use 'Moose' –
Vea [mi solución] (http://stackoverflow.com/questions/2973549/perl-classaccessor-failure-trivial-example-why/2975492#2975492) para un ejemplo de esto en 'Moose'. –