-
Does the code use a lot of attributes with getters and setters?
-
Are you concerned that someone might break your code by inserting wrong values and you have to check for that?
-
Is it painful to add or modify some of the code?
-
Are you doing a lot of work manually that Moose could do for you?
-
Do you have multiple classes that need to communicate with each other?
-
Is there a lot of boilerplate-code that's there to glue the classes / methods / attributes together?
-
Would you benefit from things like Roles / Delegation / or any of the MooseX modules?
In my opinion these are some of the questions you should ask yourself. I don't think there's any general rule at which point you should move to Moose. In my opinion it's a stable OO system that (nearly) only uses features you can also find in other OO languages (so no magic introduction of new things). I prefer writing code using it, but as can easily be seen in this thread and many others, there are of course also other opinions on that matter.