May 26, 2018
Opaque, extensible XS pointer backed objects using sv_magic
This way of associating structs with Perl space objects is designed to supercede Perl’s builtin T_PTROBJ with something that is designed to be
- The association of the pointer using sv_magicext can be done on any data type, so you can associate C structs with any representation type.
- This means that you can add pointers to any object hand coded, Moose or otherwise, while still having instance data in regular hashes.
- The C pointer is neither visible nor modifiable from Perl space.
- This prevents accidental corruption which could lead to segfaults using T_PTROBJ e.g. $$ptr_obj = 0.