<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> $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 => 0 in your call to Catalyst::Exception->meta->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> -Debug </div><div> -Home=root/src</div><div> ConfigLoader</div><div> Static::Simple</div><div><br></div><div> StackTrace</div><div><br></div><div> Authentication</div><div> Authentication::Store::DBIC</div><div> Authentication::Credential::Password</div><div><br></div><div> Authorization::Roles</div><div> Authorization::ACL</div><div><br></div><div> Session</div><div> Session::Store::DBIC</div><div> Session::State::Cookie</div><div> Cache</div><div> </div><div> Prototype</div><div> Params::Nested</div><div> SubRequest</div><div><br></div><div> 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"> </span><a href="http://www.somewhere.com/">http://www.somewhere.com/</a></td><td align="right" width="33%">TechnoSocial:<span class="Apple-converted-space"> </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>