Re: unlink question
[email protected] (ToddAndMargo via perl6-users) Thu, 9 Oct 2025 17:19:32 -0700
| Newsgroups | perl.perl6.users |
|---|---|
| Message-ID | <[email protected]> |
>> On Thu, Oct 9, 2025 at 5:25 PM ToddAndMargo via perl6-users <perl6- >> [email protected] <mailto:[email protected]>> wrote: >> >> On 10/9/25 7:44 AM, Tom Browder wrote: >> > if not unlink $OldFileName { >> > PrintRedErr( "Unable to Delete OldFileName >> <$OldFileName>\n" ); >> > } >> > >> > >> > Todd, what is your intent? Do want to delete an existing? Or not? >> >> Hi Tom, >> >> I want to delete an existing file. >> >> This is a file download program that checks for new revisions >> of software I support and copies to a special flash drive with >> a read only switch, so it does not pick up or spread viruses. >> If it finds a new version, it downloads it and removes the >> old version. >> >> In this particular sub, the new version is tested to see if >> it is the predicted size. If so, it deletes the old version >> of that file. If the size test file fails, it alerts and removes >> that bad new file (303 not found, etc.) and leaves the >> old file alone. >> >> I was presuming that unlink returned a true or false. True >> if delete was successful and false if not. The results >> were random. (It mostly worked.) >> >> -T >> On 10/9/25 2:46 PM, Will Coleda wrote: > Per the docs: > > *The method form returns True on success, or fails with X::IO::Unlink if > the operation could not be completed. If the file to be deleted does not > exist, the routine treats it as success. > * > > So I'm assuming that your occasional failures might have been if > something had the file open at the time you were trying to unlink it. > > When it fails, whatever the OS error was is in the Exception object, so > you can introspect it and see what the complaint was. > > Note - you do not have to check to see if the file exists before you > remove it. As long as the file isn't there, that's a success. You only > need to check that if specifically care if it existed first. This what I believed to be the case as well. The file absolutely exists. It is tested for in a different sub.