X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperlfaq3.pod;h=85f796878a2cf265f4afa4bd220029b92ed5fde4;hb=6d822dc4045278fb03135b2683bac92dba061369;hp=abab557a54ba3d3ba89adaca1df0328f4602370d;hpb=ed8cf1fe74d9e904232221e5b8001e6eb2d4a8a9;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perlfaq3.pod b/pod/perlfaq3.pod index abab557..85f7968 100644 --- a/pod/perlfaq3.pod +++ b/pod/perlfaq3.pod @@ -1,6 +1,6 @@ =head1 NAME -perlfaq3 - Programming Tools ($Revision: 1.21 $, $Date: 2002/04/28 15:51:10 $) +perlfaq3 - Programming Tools ($Revision: 1.22 $, $Date: 2002/05/06 13:11:13 $) =head1 DESCRIPTION @@ -247,10 +247,10 @@ specifically for programming, such as Textpad ( http://www.textpad.com/ ) and UltraEdit ( http://www.ultraedit.com/ ), among others. -If you are using MacOS, the same concerns apply. MacPerl +If you are using Mac OS, the same concerns apply. MacPerl (for Classic environments) comes with a simple editor. Popular external editors are BBEdit ( http://www.bbedit.com/ ) -or Alpha ( http://www.kelehers.org/alpha/ ). MacOS X users can +or Alpha ( http://www.kelehers.org/alpha/ ). Mac OS X users can use Unix editors as well. =over 4 @@ -617,17 +617,14 @@ No, Perl's garbage collection system takes care of this. =head2 How can I free an array or hash so my program shrinks? -You can't. On most operating systems, memory allocated to a program -can never be returned to the system. That's why long-running programs -sometimes re-exec themselves. Some operating systems (notably, -FreeBSD and Linux) allegedly reclaim large chunks of memory that is no -longer used, but it doesn't appear to happen with Perl (yet). The Mac -appears to be the only platform that will reliably (albeit, slowly) -return memory to the OS. - -We've had reports that on Linux (Redhat 5.1) on Intel, C will return memory to the system, while on Solaris 2.6 it -won't. In general, try it yourself and see. +You usually can't. On most operating systems, memory +allocated to a program can never be returned to the system. +That's why long-running programs sometimes re-exec +themselves. Some operating systems (notably, systems that +use mmap(2) for allocating large chunks of memory) can +reclaim memory that is no longer used, but on such systems, +perl must be configured and compiled to use the OS's malloc, +not perl's. However, judicious use of my() on your variables will help make sure that they go out of scope so that Perl can free up that space for