<div dir="ltr">Hi Ronen,<br><br><div class="gmail_quote">On Tue, Nov 23, 2010 at 5:26 PM, Ronen Angluster <span dir="ltr">&lt;<a href="mailto:beerholder@gmail.com">beerholder@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

<div dir="ltr"><i>$object-&gt;some_,method_that_does_not_exist();</i><div>the only way i&#39;ll find out about the problem is in run time!!!!</div></div></blockquote><div><br>Perl indeed doesn&#39;t have compile-time checks for methods. This is a design feature that other languages share (such as Python), which exists to allow certain behavior.<br>

<br>Take, for example, the Perl Android interface (or even the Python one) and you&#39;ll see that the code is actually a thin layer that uses Autoloader to catch any method run and send it to the JSON RPC server. This is to allow you to automatically support _any_ command that is desired without changing the code, making the code much more sustainable (instead of volatile and risky). Moose (and many other accessors generators) use this ability to provide you with automa{t,g}ically-created accessors.<br>

<br>So, it&#39;s important to understand why this is happening and that it is on purpose.<br><br>Of course, your issues are still important and should be confronted and I don&#39;t mean to belittle them in any way (apologies if I gave such an impression). I guess what it means is that we should improve the static analysis tools that we have (Perl::Critic, Code::Sniff or some other PPI-based tool) to be able to spot these issues (if it don&#39;t already) and allow you to at least statically check for such issues. That is an interesting concept and I&#39;m sure many would enjoy such an ability.<br>

 </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div dir="ltr">
<div><br></div><div>we&#39;re working with on a HUGE OO perl project here, got to a few hundred classes already,</div></div></blockquote><div><br>As a sidenote, this seems like a problem, regardless of whether Perl gave you compile time checks for it. Then again, I don&#39;t know why you have that, so I&#39;ll try not to be quick to judge. :)<br>

<br>S.<br></div></div></div>