Man pages sections > man3 > Catmandu::Iterator

Catmandu::Iterator - Base class for all Catmandu iterators

Catmandu::Iterator(3pm) User Contributed Perl Documentation Catmandu::Iterator(3pm)

NAME

Catmandu::Iterator - Base class for all Catmandu iterators

SYNOPSIS

  package My::MockIterator;
  use Moo;
  
  with 'Catmandu::Iterable';
  sub generator {
    sub {
        # Generator some random data
        +{ random => rand };
    }
  } 
  package main;
 
  my $it = My::MockIterator->new;
  my first = $it->first;
  $it->each(sub {
  my $item = shift;
  print $item->{random} , "\n";
  });
  my $it2 = $it->map(sub { shift->{random} * 2 });

METHODS

generator

Should return a closure that generates one Perl hash.

INHERIT

If you provide a generator, then the class will generator all methods from Catmandu::Iterable.

SEE ALSO

Catmandu::Iterable
2017-10-01 perl v5.26.0