Are there any limitations inherent to Moose that I should be aware of?
It's a juggernaut both in terms of installation and the start up cost it imposes on your scripts
It encourages Tight coupling and therefore discourages Modulariszation. Giving up Modulariszation negates most of the benefits of OOP
If you're up for a challenge that shows the limitations of Moose, try implementing in Moose a queue which never has more than N items in it and maintains that size by evicting the oldest items (N would be specified when creating the queue).