in reply to Badly need to call a function...:-)

Omit the function argument prescription unless you want to make an imposition.

sub my_function { # ... }
No Argument Limitations

sub my_function () { # ... }
Arguments limited to the empty list: ()

Since your code above appends the empty list to the function defintions the arguments are limited to the empty list. Given that your invocation passes arguments, perl returns an error. In addition to use strict; you may also want to try use diagnostics; for an explanation of perl's error messages:

(F) The function requires fewer arguments than you specified.