##
#@returns Some::Class
#@arg $arg1 Foo::Bar # some description
#@arg $arg2 Foo::Baz
#@arg $arg3 # just a description
#@arg %args key1, key2 Foo::Zoo, key3
sub somesub{
my ($self, $arg1, $arg2, $arg3, %args) = @_;
}
####
#@arg [$var1 HashRef[Foo::Bar]] # description
or
#@arg optional $var1 HashRef[Foo::Bar] # description
or
#@oarg $var1 HashRef[Foo::Bar] # description