Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

Re^2: Walking a directory tree with net:FTP:find

by bdunbar (Initiate)
on May 31, 2012 at 20:38 UTC ( #973603=note: print w/replies, xml ) Need Help??

in reply to Re: Walking a directory tree with net:FTP:find
in thread Walking a directory tree with net:FTP:find

I tried with "./test1/in", "~/test1/in", "/", and finally " ".

Same result as noted in parent

Finally I extracted the source from the article (to ensure it was clean, free of any krep that might have crept in while I've been thrashing) to a new file, saved to disk, made it executable. Same problem.

Threw in a directory name that does _not_ exist
$ftpfind->finddepth (\&wanted, "/namethatdoesnotexist"); sub wanted { print "hello"; print $_; }

Same Error

It is possible that when CPAN compiled Net::FTP::Find it ... got something wrong, screwed up the bits?

Replies are listed 'Best First'.
Re^3: Walking a directory tree with net:FTP:find
by thundergnat (Deacon) on Jun 01, 2012 at 14:04 UTC

    I doubt if it got corrupted by the installation process; it's a pure perl module so should be pretty straight forward.

    I'm working on a Windows machine w/Active perl at the moment and was moderately surprised to find there don't seem to be any ppm packages for that module generally available.

    Ah well, I went ahead and installed it manually and tried (a suitably modified version of) your script and am getting the same results locally.

    In poking around a bit, it looks to me like a bug in Net::FTP::Find::Mixin. Specifically, in line 116:

    if ($depth == 0) { next if $_ ne '.'; # <-- line 116 $_ = $directory; }

    The logic seems backwards; I believe it should be eq not ne.

    if ($depth == 0) { next if $_ eq '.'; $_ = $directory; }

    With that change made locally it works as I would expect... And on inspection of the Net::FTP::Find::Mixin CPAN page, there is an open bug report filed about this very problem, (Though it doesn't mention the above solution)

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://973603]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (8)
As of 2018-04-27 08:59 GMT
Find Nodes?
    Voting Booth?