use Sub::Signatures 'strict'; sub foo (CGI $cgi) {...} sub foo (CGI $cgi, ARRAY $arr) {...} #### sub foo(@bar) {...} # works fine sub foo($self, @bar) {...} # how would this work?