SamCG has asked for the wisdom of the Perl Monks concerning the following question:
#!perl use LWP::Simple; use LWP::UserAgent; use Mail::Sender; use DBI; use Spreadsheet::BasicRead; ($user, $pwd, $email) = @ARGV; $date = time(); ($sec, $min, $hour, $day, $mon, $year) = localtime $date; $curryear = $year + 1900; $xmon = sprintf ("%02d", $mon+1); $day = sprintf ("%02d", $day); $year =~ /\d\d(\d\d)/; $truncyear = $1; $name = "C:/sp500-".$xmon.$day.$truncyear.".xls"; &GetSNPfile($name); $spread = new Spreadsheet::BasicRead($name) || die "Error: $!"; print "Opened Spread...\n"; while ($data = $spread->getNextRow()){ last if ($$data[0] eq "ACTUALS"); next if !($$data[0] =~ m,/\d+/,); $$data[0] =~ m,/\d{2}/(\d{4}),; $year = $1; push @ests, $$data[2]; } print join "\t", @ests; @fwd_four = (reverse @ests)[0..3]; for (@fwd_four){$sum+=$_;} print "\n".$sum."\n"; $dbh = DBI->connect('dbi:Oracle:host=oraclehost;sid=dbsid', $user, $pwd, { RaiseError => 1, PrintError => 1 } ); $getsnp = $dbh->prepare("Select COLUMN from TABLE where ANOTHERCOLUMN += ?"); $getsnp->execute($curryear + 1); @row = $getsnp->fetchrow_array; ($snp_eps)=@row; if($snp_eps != $sum){ $result = "Different values!\nDB:\t$snp_eps \nWEB:\t$sum"; } else{ $result = "Same values. . . \nDB:\t$snp_eps \nWEB:\t$sum"; } print $result; $sender = new Mail::Sender {smtp => 'mail.mailhost.com', from => 'scg@mailhost.com'}; $sender->MailMsg({to => $email, subject => "Message", msg => $result}); die "silly program doesn't know it's over"; sub GetSNPfile{ ($get) = @_; print "Getting SNP file from web. . . \n"; $snp = getstore("http://www2.standardandpoors.com/spf/xls/index/SP500E +PSEST.XLS", $get); print "Done getting file. . . \n"; $snp; }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Script no longer exiting
by graff (Chancellor) on Oct 16, 2004 at 05:22 UTC | |
|
Re: Script no longer exiting
by Roger (Parson) on Oct 16, 2004 at 11:57 UTC | |
by SamCG (Hermit) on Oct 18, 2004 at 15:13 UTC | |
by Roger (Parson) on Oct 19, 2004 at 05:00 UTC |