<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><br><div class="gmail_quote"><div class="im"><blockquote class="gmail_quote" style="border-left:1px solid rgb(204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex">
<div>I have found a bug in B-&gt;walksymtable...  Someone here is more likely to get a patch submitted than I ever will... :)</div>
</blockquote></div><div><br>Submit a patch if you have found a bug. Perl is a meritocracy, not a cabal.<br></div></div></blockquote><div><br></div><div>Indeed.  I have had good and bad experiences submitting patches to various free-software projects... so I&#39;m a little weary of making an effort that get punished.</div>
<div><br></div><div>Separate to that, the main issue is that I first need to subscribe to some list just to submit something, and have done so previously.... I just figured someone here might already be subscribed to an appropriate list.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="gmail_quote"><div><br></div><div class="im"><blockquote class="gmail_quote" style="border-left:1px solid rgb(204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex">

<div>I have provided an example implementation which provides support for blessed arrays, but am unsure how to walk other blessed types...<br></div></blockquote></div><div><br>Your code looks correct, but I think that&#39;s not the purpose of walksymtable(). I was under the impression that *all* symbol tables were hashes. I&#39;ve never seen array based symbol tables let alone scalars.<br>
</div></div></blockquote><div><br></div><div>That is an interesting comment.  Indeed a function name with &quot;walksymtable&quot; would imply some sort of key-value list, which is part of a symbol-table of an object.</div>
<div><br></div><div>However,  the perldoc for the function provides an example of its use and its implementation implies that to not be the case. ie: walksymtable takes a reference to something that has a symbol-table, such as a package or  as implied by &#39;symref&#39; (a reference to a symbol...) some random definition of whatever a symbol is... say a blessed object.  But then it may just be my interpretation of the wording.</div>
<div><br></div><div>So as you say, it may not be a bug in the sense that, as it does what it implements.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="gmail_quote"><div>I think if you want more info, discuss it on perl5-porters since they are the maintainers of the core modules.</div></div></blockquote><div><br></div><div>Which I&#39;m unlikely to find time for that...</div>
<div><br></div><div><br></div><div>Aside:</div><div><br></div><div>For those interested, I came across this quirk as I was using a module I developed a few years ago...  I call it &quot;B::Symbols&quot;... Due to the various implementations of inheritance, autoload, etc. it can be frustrating trying to find out what functions can be applied to a given object; I developed something that would return a list of all possible symbols on the object; once you have at least the function name, you can then look up the docs for that function.</div>
<div><br></div><div>Using it just recently, I came across a case where it would die -&gt; I eventually figured out that it couldn&#39;t handle non-hash based objects.</div><div><br></div><div>Of course I dont really consider this module to be CPAN worthy just yet... sometimes it reports methods that dont exist, or methods are missing from the list.  If anyone is interested, I can post it here.  Also, its possible that something better exists, but I just dont know about it.</div>
<div><br></div><div><br></div><div>thanks for the reply,</div><div>Mathew</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="gmail_quote">
<div> </div></div></blockquote></div>