Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re^2: A looping question

by Erez (Curate)
on Sep 10, 2010 at 09:11 UTC ( #859610=note: print w/ replies, xml ) Need Help??


in reply to Re: A looping question
in thread A looping question

First, remove that "no warning" clause, when you develop, warnings are a guide to things that may be wrong, or are wrong. As posted, the program don't compile for a strict violation, you should declare $basedir (and while at it, there's no need to declare Wanted both on the top and bottom of the program.

Second, you check twice on the return value of "find" which goes contrary to File::Find's purpose, which is to loop over, recursively, a file tree and perform a certain action on each file/folder. Your logic should go inside the Wanted sub, rather than on an outer loop.

"Principle of Least Astonishment: Any language that doesn’t occasionally surprise the novice will pay for it by continually surprising the expert..


Comment on Re^2: A looping question
Re^3: A looping question
by Anonymous Monk on Sep 10, 2010 at 09:37 UTC
    Ok , your answer has confused me. I take the point about $basedir which I've now declared and also removed the warning and only declared Wanted once. Is find the wrong thing to use to check for the existence of a file ?

      I see what you mean. File::Find isn't about "finding files", but is a tool for recoursing through a directory tree, and performing an action on some/all of the files/directories.

      To check for the existence of a file/directory you can use the file tests that come with perl itself (http://perldoc.perl.org/functions/-X.html). for example if you have a $path, -e $path will return whether the path exists, -d $path will return true if the path is of a directory, and -f $path will return true if the path is of a file

      "Principle of Least Astonishment: Any language that doesn’t occasionally surprise the novice will pay for it by continually surprising the expert..

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://859610]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (4)
As of 2014-08-01 04:22 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (256 votes), past polls