<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">I'm trying to get some old code running in a hurry. Unfortunately Moose has completely fouled things up.First it broke my use of Error.pm (conflict with "with"). Fortunately I didn't use "with", and could just comment it out. But what I did have was my own Error subclass that was the Catalyst Exception class.<div><br></div><div><div>BEGIN {</div><div>&nbsp;&nbsp; &nbsp;$Catalyst::Exception::CATALYST_EXCEPTION_CLASS = 'Error::Throws';</div><div>};</div><div><br></div><div>I have no idea how to even get started on making that work. I made Error a Moose inherited module from Catalyst::Exception (which is the wrong level, but it got rid of:</div><div><br></div><div><div>Not inlining 'new' for Catalyst::Exception since it is not inheriting the default Moose::Object::new</div><div>If you are certain you don't need to inline your constructor, specify inline_constructor =&gt; 0 in your call to Catalyst::Exception-&gt;meta-&gt;make_immutable</div><div><br></div><div>But then that left me with</div><div><br></div><div><div>Recursive inheritance detected while looking for method 'isa' in package 'Catalyst::Exception' at /usr/local/lib/perl/5.8.8/Class/MOP/Class.pm line 570.</div><div><br></div><div>If someone has a quick way of telling me how to make my code compatible with Catalyst::Exception that would be great, but I'm worried that I'm going to hit lots of other things like this. In particular, I'm also using Embperl as a Catalyst interpreter instead of TT, so I may hit Moose again there. It might be easier for me to just take a step back in time and get old versoins:</div><div><br></div><div><div>use Catalyst (qw{</div><div>&nbsp;&nbsp; &nbsp;-Debug&nbsp;</div><div>&nbsp;&nbsp; &nbsp;-Home=root/src</div><div>&nbsp;&nbsp; &nbsp;ConfigLoader</div><div>&nbsp;&nbsp; &nbsp;Static::Simple</div><div><br></div><div>&nbsp;&nbsp; &nbsp;StackTrace</div><div><br></div><div>&nbsp;&nbsp; &nbsp;Authentication</div><div>&nbsp;&nbsp; &nbsp;Authentication::Store::DBIC</div><div>&nbsp;&nbsp; &nbsp;Authentication::Credential::Password</div><div><br></div><div>&nbsp;&nbsp; &nbsp;Authorization::Roles</div><div>&nbsp;&nbsp; &nbsp;Authorization::ACL</div><div><br></div><div>&nbsp;&nbsp; &nbsp;Session</div><div>&nbsp;&nbsp; &nbsp;Session::Store::DBIC</div><div>&nbsp;&nbsp; &nbsp;Session::State::Cookie</div><div>&nbsp;&nbsp; &nbsp;Cache</div><div>&nbsp;&nbsp; &nbsp;</div><div>&nbsp;&nbsp; &nbsp;Prototype</div><div>&nbsp;&nbsp; &nbsp;Params::Nested</div><div>&nbsp;&nbsp; &nbsp;SubRequest</div><div><br></div><div>&nbsp;&nbsp; &nbsp;ThrowForward});</div><div><br></div><div>Any suggestion on a solution that isn't going to take me days?</div></div><div><br></div><div><br></div></div></div><div>
<span class="Apple-style-span" style="font-size: 12px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div><p></p><div><p></p><div><p></p><hr><div>Kee Hinckley</div><table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td align="left" width="33%">Owner, Somewhere LLC.</td><td align="center" width="33%">Somewhere:<span class="Apple-converted-space">&nbsp;</span><a href="http://www.somewhere.com/">http://www.somewhere.com/</a></td><td align="right" width="33%">TechnoSocial:<span class="Apple-converted-space">&nbsp;</span><a href="http://www.marrowbones.com/commons/technosocial/">http://xrl.us/bh35i</a></td></tr></tbody></table><p></p><p></p></div></div></div></span></div></span></div></span></div></span>
</div>
<br></div></body></html>