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. Jack -----Original Message----- From: Manfred Lotz [mailto:manfred.l...@arcor.de] Sent: Sunday, April 22, 2012 10:22 PM To: beginners@perl.org Subject: File::Find::Object::Rule problem Hi, I'm trying out File::Find::Object::Rule and get a problem. Here a minimal example: #! /usr/bin/perl use strict; use warnings; use Data::Dumper; use File::Find::Object::Rule ; my $plf = File::Find::Object::Rule->file->name("*.pl")->start( "./" ); while ( my $perl_file = $plf->match ){ print "$perl_file\n"; } This yields: Can't call method "match" without a package or object reference at ./test_find_object_rule.pl line 12. The example is pretty much modelled after what the man page gave. Any idea what I'm doing wrong? -- Manfred -- To unsubscribe, e-mail: beginners-unsubscr...@perl.org For additional commands, e-mail: beginners-h...@perl.org http://learn.perl.org/ -- To unsubscribe, e-mail: beginners-unsubscr...@perl.org For additional commands, e-mail: beginners-h...@perl.org http://learn.perl.org/