<latemp_subject "File-Find-Object - CPAN Module to Traverse a Directory Tree" />
The perl 5 distribution ships with the File::Find module, which can be used
to traverse directory trees. However, it has some serious limitations:
It cannot be instantiated, and also makes use of some global variables.
It cannot be easily interrupted in the middle.
It does not have an iterative interface.
File-Find-Object is a CPAN module, which was originally created by
<a href="<cpan_homepage who="nanardon" />">Olivier Thauvin</a> and
now mostly maintained by me (= Shlomi Fish) that aims to address these
limitations and more, and provide Perl programmers with a robust,
object-oriented and usable alternative.
Also available is <b>File-Find-Object-Rule</b>, which is a port of
File-Find-Rule to File-Find-Object. This gives Perl programmers a convenient,
declarative interface for File-Find-Object, while overcoming the limitations
<h2 id="links">Project Links</h2>
<h3 id="links-file-find-object">For File-Find-Object</h3>
File-Find-Object is multi-licensed under the GNU General Public Licence (GPL)
version 2 or later, and the
Licence version 2.0 or later</a>.
File-Find-Object-Rule is derived from the original File-Find-Rule, and
is distributed under its same terms with all subsequent copyright claims
to the modifications disclaimed.
<h3 id="news-2009-06-26">2009-06-26: File-Find-Object-Rule Version 0.0300</h3>
Version 0.0300 of File-Find-Object-Rule was released yesterday. The main
highlight of this release is that the iterative <tt>->start()</tt>
and <tt>->match()</tt> methods are now truly iterative and use
File-Find-Object to scan the tree incrementally, instead of building a long
list of results in memory, and then iterating over it.
<set-var xsac="<cpan_self_dist d="Class-XSAccessor" />" />
Other, more minor, improvements included a cleanup of the code to use
<get-var xsac />
, POD tests and full POD coverage, update of the documentation for
File-Find-Object-Rule (instead of the original File-Find-Rule) and more links
and keywords as META.yml meta-data.
<h3 id="news-2009-01-09">2009-01-09: File-Find-Object 0.1.6 Was Released With
a Huge Speed Boost</h3>
Recently, File-Find-Object was benchmarked using a test program that
traversed a directory and printed the result. It turned out to run at
2 minutes (120 seconds) while File-Find did it at 4-5 seconds. As a result,
we spent a lot of time in optimising File-Find-Object, and now it does
the scan at about 30 seconds. These optimisations were integrated into
version 0.1.6 which was uploaded to CPAN today and will be available
One thing to note is that we are now using
<get-var xsac />
<cpan_self_dist d="Class-Accessor" />,
because the conversion yielded a substantial increase in speed. More
information can be found in the Changes file in the distribution.
<h2 id="coverage">Coverage of File-Find-Object</h2>
<h3 id="coverage-shlomif">Coverage in Shlomi Fish’s Blogs</h3>
We Include a Better Alternative to Fild-Find in the perl5 Core?”</a>
you can do with File-Find-Object (that you can’t with File::Find)”</a>
;;; Sponsored by Camila Ron
;;; Remove at 2013-09-22