The module Parse::Flex::Generate is essentially unusable, since it contains numerous hard-coded constants that are incorrect for most systems. E.g. '/usr/share/perl/5.8/ExtUtils/xsubpp' is hard-coded in the Makefile code it generates, so the resulting Makefile will almost invariably fail.
This iterator handles some common edge conditions very poorly. It should be possible to create null iterators, or iterators that iterate over lists of length one. Moreover, the decision to make the iterator non-reusable, and segreate the reusability functionality to a subclass is silly, given that this functionality is achieved simply by setting an internal cursor variable equal to 0. It is hard to see what benefit one derives from not having this feature in Array::Iterator in the first place.
The documentation, interface, and code for this module are all atrocious. The code in particular is hack after hack after hack. And the documentation deserves less than a 1. If you are planning to use this module, be ready for hours of trial and error, and wading through a lot of mucky code.