##
use base qw(AnInterface AnotherInterface YetAnotherInterface);
sub foo {
my $self = shift;
... code ...
};
##
##
sub foo # requires interfaces InterfaceA, InterfaceB
{
my ($self) = @_;
InterfaceA::validate($self);
InterfaceB::validate($self);
}