![]() |
|
Your skill will accomplish what the force of many cannot |
|
PerlMonks |
comment on |
( #3333=superdoc: print w/replies, xml ) | Need Help?? |
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'. 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 $ref eq "some string"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: 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;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. Any clues appreciated! In reply to overload and XS by kmacleod
|
|