an iterator provides much less functionality that an array, for instance, you can only access the elements sequentially and you can not get the number of elements in advance. So, usually, returning an array is better than an iterator.
Though, there are some cases where an iterator is preferred: when you don't want to let full access to the array or when you are using another representation internally to hold the values like a db table and don't want to make a Perl array holding all the values for (memory) performance reasons.
For instance, In my module Sort::Key::Merger that merges sorted lists, I used the iterator aproach so that the original lists and the result list were not required to fit in memory.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|