Hi Marc, On Sat, 19 May 2012 20:09:00 -0700 sono...@fannullone.us wrote:
> I'm trying the following code from Programming Perl, but I'm get the > error "Can't call method "type" on unblessed reference at untitled text 10 > line 23". I've checked the errata page, but there's nothing listed for it. > Searching on the error message brings up pages about unblessed references, > but I can't make heads or tails out of them. Does anyone know what the > problem is? > > Thanks, > Marc > > > use v5.14; > use strict; > use warnings; > > package Stables 1.01 { > use Moose; > has "animals" => ( > traits => ["Array"], > is => "rw", > isa => "ArrayRef[Animal]", > default => sub { [] }, > handles => { > add_animal => "push", > add_animals => "push", > }, > ); > sub roll_call { > my($self) = @_; > for my $animal($self->animals) { The problem is that «$self->animals» returns an (unblessed) array reference and not the list of individual animals, so you should do something like: for my $animal (@{ $self->animals }) { Note that I think I saw a way to return the flattened array in Moose, but I don't remember the specifics. Regards, Shlomi Fish -- ----------------------------------------------------------------- Shlomi Fish http://www.shlomifish.org/ What does "Zionism" mean? - http://shlom.in/def-zionism Chuck Norris read the entire English Wikipedia in 24 hours. Twice. Please reply to list if it's a mailing list post - http://shlom.in/reply . -- To unsubscribe, e-mail: beginners-unsubscr...@perl.org For additional commands, e-mail: beginners-h...@perl.org http://learn.perl.org/