# simplified version my @array = ({id=>1, name=>'Linux'}, {id=>2, name=>'Perl'}); my $self = [@array]; bless $self, $class #### sub get_desc { my($self, $idx) = @_; return $self->[0]{_description}; } #### my $item = Item::Item->new('some record id'); print $item->get_desc(0); #### my $itemref = Item::Item->new( "10056" ); #### @item = @$itemref; print $item[0]->{_description};