Hello GrandFather,

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*

There are no rules, there are no thumbs..
Reinvent the wheel, then learn The Wheel; may be one day you reinvent one of THE WHEELS.

In reply to Re: Index or iterate - your choice by Discipulus
in thread Index or iterate - your choice by GrandFather

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.