diff options
author | Dave Mitchell <davem@fdisolutions.com> | 2004-07-31 16:21:50 +0000 |
---|---|---|
committer | Dave Mitchell <davem@fdisolutions.com> | 2004-07-31 16:21:50 +0000 |
commit | 166f8a29442475f7fe0e9216f957512a793bc4ed (patch) | |
tree | 8e8ad9e187566d63a5ce23b4a3f7591a036f3d69 /mg.c | |
parent | d75b63cf816cfa51767ad10e3bdb7a0c01242457 (diff) | |
download | perl-166f8a29442475f7fe0e9216f957512a793bc4ed.tar.gz |
Add comment to the top of most .c files explaining their purpose
p4raw-id: //depot/perl@23176
Diffstat (limited to 'mg.c')
-rw-r--r-- | mg.c | 18 |
1 files changed, 18 insertions, 0 deletions
@@ -15,6 +15,24 @@ /* =head1 Magical Functions + +"Magic" is special data attached to SV structures in order to give them +"magical" properties. When any Perl code tries to read from, or assign to, +an SV marked as magical, it calls the 'get' or 'set' function associated +with that SV's magic. A get is called prior to reading an SV, in order to +give it a chance to update its interval value (get on $. writes the line +number of the last read filehandle into to the SV's IV slot), while +set is called after an SV has been written to, in order to allow it to make +use of it's changed value (set on $/ copies the SV's new value to the +PL_rs global variable). + +Magic is implemented as a linked list of MAGIC structures attached to the +SV. Each MAGIC struct holds the type of the magic, a pointer to an array +of functions that implement the get(), set(), length() etc functions, +plus space for some flags and pointers. For example, a tied variable has +a MAGIC structure that contains a pointer to the object associated with the +tie. + */ #include "EXTERN.h" |