Sometimes this fails due to network outages. In this case, the whole script dies:33 use File::Path qw(make_path remove_tree); [...] 387 $result = eval { remove_tree "/path/to/tree"; }; [...]
How can that be - remove_tree is trapped with eval¹? How can I make the script stay alive? What I want to do is to retry every second to remove the path until it's gone. However, this works:cannot remove directory for /path/to/tree Directory not empty at /path/to/script line 387.
rm also complains from time to time that the directory is not empty, but at least the script stays alive, and I can retry. It then always succeeds on the second attempt. I never need a third one. But I obviously want to avoid the system call with it's fork.387 $result = system( "rm -rf /path/to/tree" );
So what is that makes remove_tree feel so unhappy?
Thanks.
¹ I have read http://perldoc.perl.org/File/Path.html which tells me that it might be a bad idea to trap remove_tree, but in my case I think it's OK.
In reply to remove_tree dies even when trapped with eval by Alphaphi
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |