perlquestion
dragonchild
After shaving a yak, I ended up in [mod://Hash::Util], specifically in lock_keys(). Noticed heavy use in the PurePerl version of [mod://Internals], specifically Internals::SvREADONLY(). Never having heard of it, I looked it up. Lo and behold, although SvREADONLY() was used by the XS, it wasn't <i>exposed</i> by the XS. Bopping around a bit, I found use of a bunch of functions in the Internals:: namespace that aren't exposed by [mod://Internals]. And, furthermore, it seems like these functions are available without [perldoc://use]-ing [mod://Internals] itself.
<p>So, the question - what's in Internals:: and where can I get some documentation on it? Sounds like all sorts of goodies are in there and I wanna get me some of that! :-)
<p><b>Update</b>: Per Anonymonk's reply, apparently a whole bunch of seemingly-unrelated things are provided in [http://cpansearch.perl.org/src/NWCLARK/perl-5.8.9/universal.c|universal.c] and that's just the list for 5.8.9. In 5.10.0's [http://cpansearch.perl.org/src/RGARCIA/perl-5.10.0/universal.c|universal.c], there's twice the list. (Scroll down halfway looking for <code>/^XS\(/</code>). Why are these functions all stuffed together in universal.c? Where are they documented? If they're exposed, I would think they would be documented <i>somewhere</i>.
<!-- Node text goes above. Div tags should contain sig only -->
<div class="pmsig"><div class="pmsig-85580">
<hr>
My criteria for good software:
<ol>
<li>Does it work?
<li>Can someone else come in, make a change, and be reasonably certain no bugs were introduced?
</ol>
</div></div>