Magic is Perl's way of enhancing variables. This mechanism lets the user
add extra data to any variable and hook syntactical operations (such as
access, assignment or destruction) that can be applied to it. With this
module, you can add your own magic to any variable without having to write
a single line of XS.
You'll realize that these magic variables look a lot like tied variables.
It's not surprising, as tied variables are implemented as a special kind of
magic, just like any 'irregular' Perl variable : scalars like '$!', '$(' or
'$^W', the '%ENV' and '%SIG' hashes, the '@ISA' array, 'vec()' and
'substr()' lvalues, the threads::shared manpage variables... They all share
the same underlying C API, and this module gives you direct access to it.