in reply to Why do I need parentheses here?

If you give func a prototype, you probably don't: sub func() {} # and it'll probably work.

-Paul