I have some code which dereferences a couple of pointers, and it works, but, as you'll be able to see, it looks pretty clunky--using a temporary variable etc. In part I think this is because Perl doesn't mind dereferencing a simple scalar like this,
@$myarray, but when OO comes into play, it doesn't like
@$self->{_myarray}. Would somebody tell me if there is a neat way of doing what I'm trying to do.
Please note that I am trying to tidy up a project for college. If you consider this to be homework trolling, don't read any further, but don't flame me either :-)
$self->{_words} is a pointer to an array of objects. Calling the pass_matches method of any of those objects will return a pointer to another array. I'd like to run a nested loop through the two arrays. (Actually, with the outer array, I only want to loop till the penultimate element, hence no foreach.) Here's what I'm doing now:
my $ref = $self->{_words};
for (my $i = 0; $i < @$ref - 1; $i++)
{ my $temp = @$ref[$i]->pass_matches;
my @curr_word = @$temp;
foreach my $curr (@curr_word)
{ #blah blah blah
}
}
Any ideas?
Cheers
Dennis