in reply to Re: How to understand chapter 6 of Higher Order Perl?
in thread How to understand chapter 6 of Higher Order Perl?

Why did you use state there?

The problem is, it means that you cannot construct two concurrent iterators that work correctly.

With the line commented out in the following:

#my $_10_15 = upto_list( 10, 15 ); my $_5_30 = upto_list( 5, 30 ); show( $_5_30, 20 );

the show() line produces the expected 20 values:

C:\test>1078236.pl 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

But uncomment the 10/15 constructor and the show() now only produces 11 values despite requesting 20:

C:\test>1078236.pl 5 6 7 8 9 10 11 12 13 14 15

With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.