in reply to Index or iterate - your choice
my 2 cents as I dont know at all the matter of ELF files, so a rubber duck service from me.
Why index? The GetSegments returns an arrayref but then you access it by index using another call to SegmentCount and I expected something like foreach my $segment ( @{$elfFile->GetSegments()} ) ..
If the data is already stored inside the object, so is not huge data, personally I find returning them all via GetSegments simpler to understand and use.
If, by other hand, the data is bigger and you parse it live the iterator make much more sense.
So for me if the data will always fit already inside the object then provide it in a whole via GetSegments and stop.Only if the data can be bigger and you dont precompute it in advance the iterator make sense as alternative.
Basically the problem can be reduced to: @lines = <$handle> as opposite of while (<$handle>) with the second more idiomatic and memory safe, but if you have @lines already filled the iterator makes little sense for me.
L*
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Index or iterate - your choice
by GrandFather (Saint) on Jan 27, 2021 at 21:01 UTC |