You use the &Internals::SvREADONLY( \ undef, 0 ) trick to allow you to overwrite it. I'm not actually sure how you'd get another undef to reset the global undef value back to undef. Also, there are a lot of places where assumptions are made that the canonical undefined value is always undefined and has some expected characteristics at a C level. You'll run into various built in functions that test for truth and definedness in ways that will break after altering undef. I'm pretty sure of that anyway. So if you change PL_sv_undef then you probably also need to read all of the source for the build-in functions you're using *and* be sure that you control all the user-side perl that will have your change in scope.

This whole thing sounds so violently wrong that even setting $[ is trivial by comparison. I can't imagine any circumstance where you'd want to invoke so much concentrated chaos. This isn't like using a source filter or some behaviour that is expected to be naughty. So between just us bears, this is probably leads to justifiable homicide. I really don't think there is any sane way to use this. It probably doesn't belong in your bag of tricks.


In reply to Re^10: The Null Mull (or, when OO needs more O) by diotalevi
in thread The Null Mull (or, when OO needs more O) by brian_d_foy

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.