note
dragonchild
What I meant by that was that the subroutine should always return the same information - changing context should be lossless. Hence, an array vs. an iterator (or an arrayref). But, not an array vs. the first element.
<p>As for your examples: localtime does array vs. joined array. That's on the border of acceptable. The diamond operator and readline are lossless - they are their own iterators (which is another rant for another day). m//g always returns a list - what you do with that list is your decision.
<!-- Node text goes above. Div tags should contain sig only -->
<div class="pmsig"><div class="pmsig-85580">
<hr>
My criteria for good software:
<ol>
<li>Does it work?
<li>Can someone else come in, make a change, and be reasonably certain no bugs were introduced?
</ol>
</div></div>
729965
730266