Hash-StoredIterator

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN

      value. This is done primarily for convenience of matching against the
      key, and short callbacks that will be cluttered by parsing @_ noise.

      Note: See caveats.

    my @keys = hkeys( %hash )

      Same as the builtin keys(), except it stores and restores the
      iterator.

      Note: Overriding the builtin keys(), even locally, causes strange
      interactions with other builtins. When trying to export hkeys as
      keys, a call to sort keys %hash would cause undef to be passed into
      keys() as the first and only argument.

    my @values = hvalues( %hash )

      Same as the builtin values(), except it stores and restores the
      iterator.

      Note: Overriding the builtin values(), even locally, causes strange
      interactions with other builtins. When trying to export hvalues as
      values, a call to sort values %hash would cause undef to be passed
      into values() as the first and only argument.

    my $i = hash_get_iterator( \%hash )

      Get the current iterator value.

    hash_set_iterator( \%hash, $i )

      Set the iterator value.

      Note: Only ever set this to the value retrieved by
      hash_get_iterator(), setting the iterator in any other way is
      untested, and may result in undefined behavior.

    hash_init_iterator( \%hash )

      Initialize or reset the hash iterator.

DEPRECATED

    These have been deprecated because they were terrible names. eich was
    also deprecated because it was unnatural to use.

    eich

      use iterator() instead

    eech

      use hmap instead

CAVEATS

    Modification of hash during iteration

      Just like with the builtin each() modifying the hash between calls to
      each is not recommended and can result in undefined behavior. The
      builtin each() does allow for deleting the iterations key, however
      that is NOT supported by this library.

    sort() edge case

      For some reason [sort hkeys %hash] and [sort hkeys(%hash)] both
      result in a list that has all the keys and values (and strangely not
      in sorted order). However [sort(hkeys(%hash))] works fine.

AUTHORS

    Chad Granum exodist7@gmail.com

COPYRIGHT

    Copyright (C) 2013 Chad Granum

    Hash-StoredIterator is free software; Standard perl licence.

    Hash-StoredIterator is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license
    for more details.



( run in 0.931 second using v1.01-cache-2.11-cpan-71847e10f99 )