in reply to autodie with non-builtins

All File::Copy functions return 1 on success, 0 on failure. autodie appears to expects functions to return undef on failure. Example
C:\strawberry>perl -E "sub moon{rand;0}; use autodie q,moon,; say moon +;" 0 C:\strawberry>perl -E "sub moon{rand;return}; use autodie q,moon,; say + moon;" Can't moon(): at -e line 1 C:\strawberry>perl -E "sub moon{rand;undef}; use autodie q,moon,; say +moon;" Can't moon(): at -e line 1 C:\strawberry>perl -E "sub moon{rand;0}; use Fatal q,moon,; say moon;" Can't moon(), $! is "" at (eval 1) line 4 main::__ANON__() called at -e line 1 C:\strawberry>perl -E "sub moon{rand;return}; use Fatal q,moon,; say m +oon;" Can't moon(), $! is "" at (eval 1) line 4 main::__ANON__() called at -e line 1 C:\strawberry>perl -E "sub moon{rand;undef}; use Fatal q,moon,; say mo +on;" Can't moon(), $! is "" at (eval 1) line 4 main::__ANON__() called at -e line 1 C:\strawberry>
You should report this, at the very least it is a documentation bug.