in reply to Object passing within a package

$FooObj is already a reference, so you shouldn't have to call barsub with a reference to it.

What error message did you get when you tried barsub( $FooObj )? Maybe you need to check that it is defined before passing it to barsub :

my $FooObj = Some::Module->new or die '$FooObj should not be undef';