[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#704899: ITP: libhash-storediterator-perl -- Functions for accessing a hashes internal iterator

Package: wnpp
Severity: wishlist
Owner: Xavier Guimard <x.guimard@free.fr>

* Package name    : libhash-storediterator-perl
  Version         : 0.003
  Upstream Author : Chad Granum <exodist7@gmail.com>
* URL             : https://metacpan.org/release/Hash-StoredIterator
* License         : Artistic or GPL-1+
  Programming Lang: Perl
  Description     : Functions for accessing a hashes internal iterator

In perl all hashes have an internal iterator. This iterator is used by
the each() function, as well as by keys() and values(). Because these
all share use of the same iterator, they tend to interact badly with
eachother when nested.

Hash::StoredIterator gives you access to get, set, and init the iterator
inside a hash. This allows you to store the current iterator, use
each/keys/values/etc, and then restore the iterator, this helps you to
ensure you do not interact badly with other users of the iterator.

Along with low-level get/set/init functions, there are also 2 variations
of each() which let you act upon each key/value pair in a safer way than
vanilla each()

This module can also export new implementations of keys() and values()
which stash and restore the iterator so that they are safe to use within

This module is required to update libperl5i-perl

Reply to: