Skip Menu |

This queue is for tickets about the libwww-perl CPAN distribution.

Report information
The Basics
Id: 17738
Status: rejected
Priority: 0/
Queue: libwww-perl

People
Owner: Nobody in particular
Requestors: spam [...] der-pepe.de
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in:
  • 5.803
  • 5.804
  • 5.805
Fixed in: (no value)



Subject: Namespace pollution: LWP fails to clean up
When you run the following perl script, use Data::Dumper; use LWP::Simple; get('http://example.com'); print Dumper(\%Symbol::GEN0); you will get this output: $VAR1 = { 'io_socket_type' => 1, 'io_socket_proto' => 6, 'io_socket_domain' => 2, 'io_socket_timeout' => 60 }; I think this is because in Net::HTTP::Methods, all the private data are stored in %{*$self}, but in the end, nobody cleans them up, so they linger around and consume memory. Probably one should have a DESTROY method wipe out %{*$self}. If a long-running program makes heavy use of LWP, it will probably have many unneeded data in its memory at some time. Regards, Christoph $ perl -v This is perl, v5.8.7 built for i386-linux
The symbol is reclaimed by perl's garbage collector when you don't create a reference to it by dumping it. There is no need for any destructor for this to happen.