perlquestion
kmacleod
<p>I'm trying to use stringify overload on a tied XS variable (Perl 5.6.0) and I can't figure out how to turn on 'fallback'.</p>
<p>I was able to find SvAMAGIC_on() to turn on overload, and I provide a stringify method ('""') that works when you do "$ref", but I need<pre>
$ref eq "some string"
</pre>to work also, and that means setting fallback => 1, which I can't figure out how to do to my XS-tied variable. My tie'ing sequence looks roughly like this:<pre>
HV *hash = newHV();
SV *hashref = newRV_noinc((SV*)hash);
SV *tie = newSViv((IV)value);
SV *tieref = newRV_noinc(tie);
sv_bless(tieref, hash_tie_stash);
sv_bless(hashref, xml_attribute_stash);
SvAMAGIC_on(hashref);
hv_magic(hash, (GV *)tieref, 'P');
SvREFCNT_dec(tieref);
return hashref;
</pre>Devel::Peek isn't giving me a clue (afaics) as to what magic is different between my XS-tied var and a pure-Perl tied var with overload magic.</p>
<p>Any clues appreciated!</p>