##
sub _check_obj {
my ($obj, @methods) = @_;
for (@methods) {
return unless $obj->can($_);
}
return 1;
}
##
##
sub use_object_somehow {
my ($obj, $foo, $bar) = @_;
carp "Object doesn't quack right" and return
unless _check_obj($obj, qw(foo bar));
$obj->foo($foo);
$obj->bar($bar);
}