Why: easier than the alternative 

my($value, $errors) = do_something();
if( $errors ) {
    # deal with it
    # return ( undef, $errors ) ?
}