Perl-如何释放数组或哈希占用内存
一般来说,在Perl中,内存的分配和释放并不是你可以或者应该多操心的事情!
截断一个数组并不回收其内存。你必须使用 undef(@whatever) 来把它的内存释放回你的进程的内存池里。你可能无法把它释放回你的系统的内存池,因为几乎没有那种操作系统支持这样做。在大多数操作系统上,分配给程序的内存永远不能返回给系统。
一旦Perl从操作系统中分配了内存,它就会在进程的整个生命周期中保留这些内存。在可能的情况下,Perl将重用它已经分配的内存,而不是向操作系统请求更多内存,但是你不会看到进程使用的内存减少。
Read more →最好方法是一开始就不要做任何浪费内存的事情。良好的编程实践可以在很大程度上实现这一目标。