Hi everyone, I tried to create a little GUI for a program which I wrote a while ago. It's only a little link filter. I have to give him an URL, he parses the website for given regular expressions and gives back a HTML file with all the links in it. Now the problem is that if i enter the URL and click on the Button to proceed, the program hangs for about 30 seconds before it goes on. Everything works fine. Only this "lag" is very disappointing. I can't find my mistake... If I do the same on the console, everything works instantly without hanging. I would be glad if someone could help me out. :)
Here's the code: use LWP::UserAgent; use HTTP::Cookies::Mozilla; use Win32::GUI(); # Use of the Firefox Cookie file # For German Systems: Change the Docume~1 to Dokume~1 # I'm working on a better solution for this $kekse = HTTP::Cookies::Mozilla->new( 'file' => glob("C:/Docume~1/$ENV{'USERNAME'}/Anwendungsdaten/Mozilla/Firefox/Profiles/*.default/cookies.txt")); # Creation of the LWP Useragent with the Firefox Cookie file $ua = LWP::UserAgent->new; $ua->agent('Mozilla/5.0'); $ua->cookie_jar($kekse); # Creation of the GUI $main = Win32::GUI::Window->new( -name => 'Main', -width => $width = 295, -height => $height = 161, -maximizebox => 0, -resizable => 0, -text => 'Link Filter', ); $lblURL = $main->AddLabel( -name => 'lblURL', -width => 100, -height => 17, -align => 'left', -left => 4, -top => 4, -text => 'Bitte URL eingeben:', ); $tfURL = $main->AddTextfield( -name => 'tfURL', -width => 281, -height => 77, -align => 'left', -left => 4, -top => 20, -multiline => 1, ); $btGet = $main->AddButton( -name => 'btGet', -width => 279, -height => 33, -left => 5, -top => 100, -text => 'Get Them!', ); $desk = Win32::GUI::GetDesktopWindow(); $deskwidth = Win32::GUI::Width($desk); $deskheight = Win32::GUI::Height($desk); $deskx = ($deskwidth - $width) / 2; $desky = ($deskheight - $height) / 2; $main->Move($deskx, $desky); $main->Show(); Win32::GUI::Dialog(); sub Main_Terminate { return -1; } sub btGet_Click { # Copy the entered URL into a usable variable $url = $tfURL->Text; return -1; } # Get the content of the Website and save it into a temporary HTML file $ua->get($url, ':content_file' => 'temp.html'); open(EINGABE, "temp.html") || die("Fehler: Datei temp.html konnte nicht gefunden werden."); open(AUSGABE, ">links.html") || die("Fehler: konnte Datei rs.html nicht erstellen."); # Filter the links from the temporary file and write them into a new HTML file while($zeile = <EINGABE>) { if ($zeile =~ m/ENTER YOUR REGEXP HERE/) { $zeile =~ s/ENTER YOUR REGEXP HERE/AND HERE/; print AUSGABE "<a href=\"" . $zeile . "\">" . $zeile . "</a>" . "<br>"; } } close(EINGABE); close(AUSGABE); # Delete temporary file unlink "temp.html"; # Open the file which holds the filtered links `links.html`;