
MooseX::Iterator::Locate -- read "locate" database with MooseX::Iterator

use MooseX::Iterator::Locate;
my $it = MooseX::Iterator::Locate->new;
while ($it->has_next) {
print $it->next, "\n";
}

MooseX::Iterator::Locate is a subclass of Moose::Object and File::Iterator::Locate,
Moose::Object
File::Iterator::Locate
MooseX::Iterator::Locate
and has roles
MooseX::Iterator::Role

MooseX::Iterator::Locate reads a "locate" database file in MooseX::Iterator style. It's implemented as a front-end to File::Locate::Iterator.
See examples/moosex-iterator.pl in the File-Locate-Iterator sources for a simple complete program.

$it = MooseX::Iterator::Locate->new (key=>value,...)Create and return a new MooseX::Iterator::Locate object. Optional key/value pairs are passed to File::Locate::Iterator->new.
my $it = MooseX::Iterator::Locate->new
(suffixes => ['.pm', '.pl']);
$entry = $it->nextReturn the next entry from the database. The first call is the first entry.
$entry = $it->peekReturn the next entry from the database, but don't advance the iterator position. This is what $it->next would return.
(This is not the same as peek in the base MooseX::Iterator version 0.11, it gives the second next item. Believe that's a mistake there, though the intention will be to follow what the base does when resolved.)
$bool = $it->has_nextReturn true if there's a next entry available.
$it->resetMove $it back to the start of the database again. The next call to $it->next gives the first entry again.
As discussed in File::Locate::Iterator under rewind(), this reset is only possible when the underlying database file or handle is a plain file or something seekable.

The various parameters accepted by new are attributes. They're all "bare" create-only, no getters or setters.
database_file Str
database_fh FileHandle
database_str Str
suffix Str
suffixes ArrayRef[Str]
glob Str
globs ArrayRef[Str]
regexp Str | RegexpRef
regexps ArrayRef[Str|RegexpRef]
use_mmap enum default, if_sensible, if_possible, 0, 1
The default in the database_file attribute is per File::Locate::Iterator->default_database_file. (It's a coderef type since default_database_file looks at %ENV.)

MooseX::Iterator, File::Locate::Iterator, Moose, Moose::Object

http://user42.tuxfamily.org/file-locate-iterator/index.html

Copyright 2010, 2011 Kevin Ryde
File-Locate-Iterator is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version.
File-Locate-Iterator 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 GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with File-Locate-Iterator. If not, see http://www.gnu.org/licenses/