=head1 Storable 2.15 has a memory leak Here's how I discovered it. First you go to where cpanplus keeps its configuration info (the .cpanplus directory) $cpanplusconf->{conf}{base} and delete the sourcefiles.*.stored file C:\Perl\.cpanplus>perl -e"die time" 1117533963 at -e line 1. C:\Perl\.cpanplus>cpanp CPANPLUS::Shell::Default -- CPAN exploration and modules installation (v0.053) *** Please report bugs to . *** Using CPANPLUS::Backend v0.053. ReadLine support disabled. CPAN Terminal> l CGI Details for 'CGI' Author Lincoln D. Stein (lstein@cshl.org) Description None given Development Stage Unknown Interface Style Unknown Language Used Unknown Package CGI.pm-3.10.tar.gz Public License Unknown Support Level Unknown Version Installed 3.10 Version on CPAN 3.10 Contains: CGI CGI::Carp CGI::Cookie CGI::Fast CGI::Pretty CGI::Push CGI::Util CPAN Terminal> q Exiting CPANPLUS shell C:\Perl\.cpanplus> C:\Perl\.cpanplus>perl -e"die time" 1117533981 at -e line 1. C:\Perl\.cpanplus>perl -e"die 1117533981-1117533963" 18 at -e line 1. C:\Perl\.cpanplus>dir *stored 05/31/2005 03:06 AM 14,631,498 sourcefiles.2.15.stored This is cool (18 seconds), but if you repeat these steps, cpanp will load sourcefiles.2.15.stored, but quitting will take a very very long time, eating %100 of the CPU, and increasingly more and more memory. I quit after the first time. I've traced through CPANPLUS, and it is the call to Storable::nstore that is to blame. =cut #use Pod::Usage;pod2usage(-verbose => 2); print "you should chdir where CPANPLUS keeps sourcefiles*.stored$/"; print "which is something like \$cpanplusconf->{conf}{base}$/"; print "and delete the sourcefiles.*.stored file$/"; print "This should take a short time (under a minute)$/"; my $now = time; system qw[ perl -S cpanp l CGI]; print time-$now,$/,$/; print $_,$/ for glob 'sourcefiles*.stored'; print "This should take a long time (many minutes)$/and leak memory$/"; $now = time; system qw[ perl -S cpanp l CGI]; print time-$now,$/,$/;