best way to study it is to read it in conjunction with poking at Perl
source, and we'll do that later on.
-Gisle Aas's illustrated perlguts (aka: illguts) is wonderful, although
-a little out of date wrt some size details; the various SV structures
-have since been reworked for smaller memory footprint. The
-fundamentals are right however, and the pictures are very helpful.
+Gisle Aas's illustrated perlguts (also known as I<illguts>) is wonderful,
+although a little out of date with regard to some size details; the
+various SV structures have since been reworked for smaller memory footprint.
+The fundamentals are right however, and the pictures are very helpful.
-http://www.perl.org/tpc/1998/Perl_Language_and_Modules/Perl%20Illustrated/
+L<http://www.perl.org/tpc/1998/Perl_Language_and_Modules/Perl%20Illustrated/>
=item L<perlxstut> and L<perlxs>
through logging functions, which is handy for breakpoint setting.
Unless C<-DPERL_MEM_LOG_NOIMPL> is also compiled, the logging
-functions read ENV{PERL_MEM_LOG} to determine whether to log the
+functions read $ENV{PERL_MEM_LOG} to determine whether to log the
event, and if so how:
- ENV{PERL_MEM_LOG} =~ /m/ Log all memory ops
- ENV{PERL_MEM_LOG} =~ /s/ Log all SV ops
- ENV{PERL_MEM_LOG} =~ /t/ include timestamp in Log
- ENV{PERL_MEM_LOG} =~ /^(\d+)/ write to FD given (default is 2)
+ $ENV{PERL_MEM_LOG} =~ /m/ Log all memory ops
+ $ENV{PERL_MEM_LOG} =~ /s/ Log all SV ops
+ $ENV{PERL_MEM_LOG} =~ /t/ include timestamp in Log
+ $ENV{PERL_MEM_LOG} =~ /^(\d+)/ write to FD given (default is 2)
Memory logging is somewhat similar to C<-Dm> but is independent of
C<-DDEBUGGING>, and at a higher level; all uses of Newx(), Renew(),
-and Safefree() are logged with the callers source code file and line
+and Safefree() are logged with the caller's source code file and line
number (and C function name, if supported by the C compiler). In
contrast, C<-Dm> is directly at the point of C<malloc()>. SV logging
is similar.
* the default implementation, unless -DPERL_MEM_LOG_NOIMPL is also
* given, and you supply your own implementation.
*
- * The default implementation reads a single envar; PERL_MEM_LOG,
+ * The default implementation reads a single env var, PERL_MEM_LOG,
* expecting one or more of the following:
*
* \d+ - fd fd to write to : must be 1st (atoi)
- * 'm' - memlog was PERL_MEM_LOG=1
+ * 'm' - memlog was PERL_MEM_LOG=1
* 's' - svlog was PERL_SV_LOG=1
* 't' - timestamp was PERL_MEM_LOG_TIMESTAMP=1
*