In general no. Perl is a little bit too dynamic for that: many modules create methods at runtime (usually using AUTOLOAD, but there are other ways...), and all methods and functions in Perl take exactly one argument: A list, which will be put in the @_ array. (Even prototyped functions take a list. They just define what's in the list.)
So the problem is that none of the above is known until runtime, when a specific method call is made. It may be possible to answer those questions for a fair number of simple cases, but default arguments and AUTOLOADed methods are both fairly common practice.