diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 2002-05-09 14:09:00 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2002-05-09 14:09:00 +0000 |
commit | 2c646907d8be3abcfdbcb890fa5c8ca825c7ce91 (patch) | |
tree | fd2dfb2d89edad2ffd718654079053a07941d6c4 | |
parent | 1fdb6f840c15335baa3b41d0fe57a0671fb3b52b (diff) | |
download | perl-2c646907d8be3abcfdbcb890fa5c8ca825c7ce91.tar.gz |
FAQ sync.
p4raw-id: //depot/perl@16527
-rw-r--r-- | pod/perlfaq3.pod | 21 | ||||
-rw-r--r-- | pod/perlfaq4.pod | 9 |
2 files changed, 16 insertions, 14 deletions
diff --git a/pod/perlfaq3.pod b/pod/perlfaq3.pod index abab557a54..0db19d7fd2 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 @@ -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<undef -$scalar> 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 diff --git a/pod/perlfaq4.pod b/pod/perlfaq4.pod index bedc668c19..27908d5662 100644 --- a/pod/perlfaq4.pod +++ b/pod/perlfaq4.pod @@ -1,6 +1,6 @@ =head1 NAME -perlfaq4 - Data Manipulation ($Revision: 1.20 $, $Date: 2002/04/07 18:46:13 $) +perlfaq4 - Data Manipulation ($Revision: 1.21 $, $Date: 2002/05/06 13:08:46 $) =head1 DESCRIPTION @@ -135,7 +135,7 @@ functions is that it works with numbers of ANY size, that it is optimized for speed on some operations, and for at least some programmers the notation might be familiar. -=item B<How do I convert Hexadecimal into decimal:> +=item B<How do I convert hexadecimal into decimal:> Using perl's built in conversion of 0x notation: @@ -214,6 +214,11 @@ Using Bit::Vector =item B<How do I convert from binary to decimal:> +Perl 5.6 lets you write binary numbers directly with +the 0b notation: + + $number = 0b10110110; + Using pack and ord $decimal = ord(pack('B8', '10110110')); |