http://www.perlmonks.org?node_id=778035


in reply to Simple r-copy style backup

You seem to be checking for a failure of "mkpath" (using an eval block), but in the case where that actually fails, you keep moving ahead as if it succeeded.

I would recommend that you put an additional check before the "opendir()" call:

if ( ! -d "$copy_to/$dir" ) { warn "Cannot copy/zip $src because $copy_to/$dir does not +exist\n"; next; } opendir( $dh, $src ); ...

Update: on closer inspection, I realize that you really are not checking for failure in that eval block:

eval { mkpath (["$copy_to/$dir"]); 1}
That always returns true (because of the "1" at the end) regardless of return value from mkpath. In other words, there's no need for the eval at all, because you are defeating its purpose with the final "1".

Replies are listed 'Best First'.
Re^2: Simple r-copy style backup
by Anonymous Monk on Jul 08, 2009 at 11:38 UTC
    Maybe there is a missing use autodie;?