Sorry, but to me that's design smell.

If your iterator cares about how and where it's being used, you basically prohibit all uses that you didn't think of, thus defeating the idea of code reuse.

The usual approach that you consider to be too verbose has the advantages that it

I think that ease of use on the one hand and ease of use on the other hand are not contradictory; one approach would be to use a tied array, so that you can iterate over it with a simple for loop.

Other ideas are to look on CPAN for lazy list implementations. (I've written Perl6::GatherTake as a proof of concept; it goes a bit in that direction, though I'm sure that you'll find much better suited modules).

I also think that if you ask broader, like "how do I write an iterator that's easy to use?" you might get even more clever ideas from the assembled monks.


In reply to Re: How to distinct the call position of a sub? by moritz
in thread How to distinct the call position of a sub? by LanX

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.