this is probably a stupid question. The question is that I want a particular class of objects to have several attributes, one of them a list (array), the problem is that I can't get it to work, it only stores the last value, and when I try to join another array it doesn't work. If somebody could help me on this, I've tried some references and stuff but i couldn't figure it out:
package SpeechAct;
sub new { my $classname = shift; my $self = {}; bless($self, $classname); $self->_init(@_); return $self; }
sub _init {
my $self = shift;
$self->{OBJECT} = ("xpto1","xpto2"); ---> THE PROBLEM! It only stores xpto2
if (@_) {
my %extra = @_;
@$self{keys %extra} = values %extra;
}
}
And when i try to use this method:
sub object { my $self = shift; return $self->{OBJECT} unless @_; my @list = $self->{OBJECT}; print "List: ", @list, " with ", scalar(@list) ," element\n"; #push(@list, @_); print "new list: ", @list, "\n"; #$self->{OBJECT} = @list; #print "New obj: ", $self->object ,"\n" ; return $self->{OBJECT}; }
When called like this
$sa->object("xpto3","xpto4");
i get :
newlist: xpto2xpto3xpto4 ----> (lost the xpto1) New obj; 3 ----> SIZE?!?
Thanks for any possible tip.. i'm lost... :(
-- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>