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.