Hi Jack, On Mon, 23 Apr 2012 06:02:55 +0000 Jack Maney <jma...@adknowledge.com> wrote:
> Manfred, > > The issue is that you're storing the return value of the start method into > $plf, and if you look at the source code, the start method returns 1. > > In fact, using Data::Dumper, > > print Dumper($plf) . "\n"; > > returns > > $VAR1 = 1; > > The start method is a method that doesn't return anything important, but > manipulates things for other methods to use. What you want to do instead is > set up the rules for $plf and then call the start method separately: > > use strict; > use warnings; > > use Data::Dumper; > > use File::Find::Object::Rule ; > > my $plf = File::Find::Object::Rule->file->name("*.pl"); > $plf->start("./"); > > while ( my $perl_file = $plf->match ){ > print "$perl_file\n"; > } > > > If you're familiar with DBI, you can think of $plf as a statement handle, > setting up the rules ('->file->name("*.pl")', etc) as analogous to DBI's > prepare method, and start as analogous to execute. > Thanks for helping Manfred! However, as he noted, the documentation on https://metacpan.org/module/File::Find::Object::Rule is misleading and ought to be corrected. Since I've originated File::Find::Object::Rule (after forking it from the original File::Find::Rule) and still maintain it, then I can do it now. So thanks to Manfred as well for spotting this issue. Regards, Shlomi Fish > Jack > > [SNIPPED] -- ----------------------------------------------------------------- Shlomi Fish http://www.shlomifish.org/ Best Introductory Programming Language - http://shlom.in/intro-lang Real programmers don’t write workarounds. They tell their users to upgrade their software. Please reply to list if it's a mailing list post - http://shlom.in/reply . -- To unsubscribe, e-mail: beginners-unsubscr...@perl.org For additional commands, e-mail: beginners-h...@perl.org http://learn.perl.org/