$ 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. #### sub foo { return !! shift->{some_obj}->some_method; } #### sub foo { return ( shift->{some_obj}->some_method ) ? 1 : 0; } #### sub foo { return ( shift->{some_obj}->some_method ) ? 1 : (); } #### sub foo { return shift->{some_obj}->some_method || (); }