http://www.perlmonks.org?node_id=759676
Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

I have not done a lot of Perl programming other than quick knock-offs for system-specifc tasks, so my Perl knowledge is pretty basic. I created a program which goes out and runs a CGI program which returns some data. From there I can do what I want with it. The program works fine. However, I wanted to run this continuously, with a sleep of say 3 minutes. When I put the code in a while loop, it runs, but it returns the exact same data as before, even if I know that the data is different (which I can check by calling it in a browser). Obviously I need to clear something out, but I am at a loss as to what to do.
#!perl -w use Win32::Internet; my $addr = "http://somewebaddress.com/prog.cgi?parameters"; my $INET = new Win32::Internet(); my $url = $INET->FetchURL($addr); $INET->Close(); print $url; ... etc ...
This works fine. However, if I try enclosing it in a while ...
#!perl -w use Win32::Internet; my $addr = "http://somewebaddress.com/prog.cgi?parameters"; while (1) { my $INET = new Win32::Internet(); my $url = $INET->FetchURL($addr); $INET->Close(); print $url; sleep 180; }
It runs fine, but the data ($url) is exactly the same - and I know it isn't. Obviously I need to clear the variables out. I've tried setting them to undef before the sleep but that doesn't have any effect. Appreciate any guidance.