in reply to Elegant way to return true or nothing from a subroutine?

The builtins you seem to be referring to do not return nothing; they return a special false value that is "" in string context and 0 in numeric context (without warning the way "" would). This is very different from nothing:
$ perl -w sub nothing { return; } sub something { return 0 == 1; } my @foo; push @foo, nothing(); print "foo has " . @foo . " elements after pushing nothing.\n"; push @foo, something(); print "foo has " . @foo . " element after pushing something.\n"; __END__ foo has 0 elements after pushing nothing. foo has 1 element after pushing something.
(return; with no arguments does indeed return an empty list in list context, but undef in scalar context, which is very different from the usual false value.)

The easiest way is to use the not-not operator; given your example:

sub foo { return !! shift->{some_obj}->some_method; }
Some people prefer:
sub foo { return ( shift->{some_obj}->some_method ) ? 1 : 0; }
and I can see an argument being made for having the false return value be either 0 or "", not both. But just using !! is convenient.

If you actually do want nothing for false in a list context, do

sub foo { return ( shift->{some_obj}->some_method ) ? 1 : (); }
or
sub foo { return shift->{some_obj}->some_method || (); }
if true values other than 1 are permissable.