my $fi = new Iterator::Filter Iterator::Array->new( [ 1 .. 10 ] ), # inner iterator sub { $_[0] % 2 }; # condition print $fi->value, "\n" until $fi->is_exhausted ;