The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Array::AsHash::Iterator - Iterator object for Array::AsHash

VERSION

Version 0.02

SYNOPSIS

    my $iterator = Array::AsHash->new({array => \@array})->each;

    while (my ($key, $value) = $iterator->next) {
        print "First \n" if $iterator->first;
        print "$key : $value\n";
        print "Last \n" if $iterator->last;
    }

DESCRIPTION

This is the iterator returned by the Array::AsHash::each method. Do not use directly.

EXPORT

None.

METHODS

new

 my $iterator = Array::AsHash::Iterator->new({
     parent => $array_as_hash_object,
     iterator => $array_as_hash_object_internal_iterator,
 });

next

  while (my ($key, $value) = $iterator->next) {
    ...
  }

Returns the next key/value pair in the iterator.

first

  if ($iterator->first) {
    ...
  }

Returns true after when we are on the first key/value pair (after it has been returned) and before we have returned the second key/value pair.

last

  if ($iterator->last) {
    ...
  }

Returns true after we have returned the last key/value pair.

parent

 my $parent = $iterator->parent;

Returns the parent Array::AsHash object used to create the iterator.

reset_each

 $iterator->reset_each;

As with a regular hash, if you do not iterate over all of the data, the internal pointer will be pointing at the next key/value pair to be returned. If you need to restart from the beginning, call the reset_each method.

AUTHOR

Curtis "Ovid" Poe, <ovid@cpan.org>

BUGS

Please report any bugs or feature requests to bug-array-ashash@rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Array-AsHash. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SEE ALSO

Clone, Tie::IxHash, Array::AsHash, Class::Std (how this module is implemented).

COPYRIGHT & LICENSE

Copyright 2005 Curtis "Ovid" Poe, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.