Why does the following code process the same file in an infinite loop? I want it to stop processing the file after a single iteration.
#!/usr/bin/perl
use strict;
use warnings;
use WWW::Mechanize ;
my $mech = WWW::Mechanize->new();
my $txt_url ;
my $pdf_url ;
my $html_url ;
my $output ;
my @output ;
my $file_content = "D:/Perl/Perl output/garbage_content.csv" ;
my $get_file = "http://securities.stanford.edu/filings-case.html?id=10
+1092";
my $filename = "file_output_101092" ;
my $response = $mech->get($get_file,
':content_file'=> $file_content,);
open my $fh, '<', $file_content ;
while (<$fh>) {
chomp;
my $i =1 ;
if(index($_,".txt")>=0) {
$txt_url = $_ ;
}else {
if(index($_,".pdf")>=0) {
$pdf_url = $_ ;
}else {
if(index($_,".html")>=0) {
$html_url = $_ ;
}
}
}
if (($txt_url)|($pdf_url)|($html_url))
{
$output = join ",", $filename, $txt_url, $pdf_url, $html_url ;
push @output, ($output) ;
foreach (@output) {
print "Round $i\n " ;
print "$_\n" ;
$i++ ;
#sleep(1) ;
}
}
}
close $fh ;