in reply to Pass hash to module

You're using calling a class's method: Module->method(%foo), which passes arguments ('Module', %foo), which is an odd number of elements. The sub does not expect any arguments other than an even number of arguments which it immediately assigns to a hash (the module's documentation does not match its code). Call it as a subroutine instead: Module::method(%foo), and perhaps file a bug report and/or be ready to modify your code if, when the module is fixed, the calling conventions rather than just the documentation are changed.