That's interesting. So is your point that this is a case where one should check if the return is defined (and not just "true"), or does there need to be a third branch to handle the "0"?
Neither the examples in perlipc or in the Perl Cookbook make any attempt at special handling of a return of "0".