Yes. The functions you define in Module1 live in Module1's namespace. To call them from Module2, you either have to
- Module1::function()
- Do the Exporter stuff
- Treat Module2 (and Module1) as classes with objects
They're all good solutions, but to different problems. Which solution you use depends on which problem you have.