With the declaration of findkey inside the subroutine getNumber_Mesh()
you are creating a local variable findkey
that hides the function.
With modules, it is not required to declare the return value of functions (of module functions). Simply removing the declaration should do the trick.