Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Re: Delete files if they match help!

by k_manimuthu (Monk)
on Jan 07, 2011 at 03:51 UTC ( #881002=note: print w/replies, xml ) Need Help??


in reply to Delete files if they match help!

Check the file is exist. if the file exists then process the unlink process

unlink $file_name if (-e $file_name && -f $file_name)

Replies are listed 'Best First'.
Re^2: Delete files if they match help!
by afoken (Monsignor) on Jan 07, 2011 at 14:59 UTC

    TOCTOU, but why? unlink() won't kill your grandma if the file to be delete does not exist (any more). It will just generate an error ("No such file or directory"). It also generates an error ("Is a directory") when you attempt to delete a directory instead of a plain file (unless you are root, have started perl with the -U flag, and your OS supports unlinking a directory). So, unlink(), check $!, TOCTOU problem gone.

    Alexander

    --
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://881002]
help
Chatterbox?
[atcroft]: james28909: That particular questions was a bit of trick, actually (depending on the country you are in). More interesting is, if you are trying to subtract from an epoch time, for instance, you might have to consider when/if DST occurs for a location,
[atcroft]: because you may have to adjust the number of seconds you change from an epoch from 86400 (not to mention leap seconds)....
[atcroft]: james28909: Although if your program is using a database, you might be able to "pass the buck" to the database and ask it to do the date change for you....
[stevieb]: ++ atcroft

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (2)
As of 2017-04-29 04:40 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    I'm a fool:











    Results (531 votes). Check out past polls.