Der er mange måder at gøre det på?
- To: sslug@sslug
- Subject: Der er mange måder at gøre det på?
- From: Poul-Erik Andreasen <sslug@sslug>
- Date: Mon, 12 Mar 2001 00:15:19 +0100
- Newsgroups: sslug.perl
- Organization: SSLUG
Der er mange måder at gøre det på, men de er ikke alle lige gode desværre. Det her program
som jeg har lavet, det fungerer sådan set efter hensigten, men jeg er lidt utilfreds med
det. Jeg synes nemlig ikke at det er struktureret særligt godt. Det ville jeg gerne have
nogen komentarer til, hvis der er nogen der gider. Det skyldes også det forhold at
programmet langt fra er færdigt, det skal til sin tid køre som cronjob og så der skal en
del mere på bl. a skal det ikke læse ud til en fil men ind i en database.
#!/usr/bin/perl -w
use strict;
use diagnostics;
use LWP::UserAgent;
undef $/; # $/ er record seperstor sørger for at perl læser heler filen
open(OUTPUT,'>./pgdata/testfilodds.txt') or die;
my $ua = LWP::UserAgent->new;
my $matchurl =
HTTP::Request->new('GET','http://www.crastinum.com/oddcomp/data/matchlst.htm');
my $updateurl = HTTP::Request->new('GET', 'http://www.crastinum.com/oddcomp/sivu.html');
my $oddsurl = HTTP::Request->new('GET',
'http://www.crastinum.com/oddcomp/data/oddcomp.txt');
my $res = $ua->request($oddsurl); # indlæser filen fra nettet
my $oddsliste;
my $dato;
my $dag;
my $month;
my $year;
my $guest;;
my $home;
my $oneodds;
my $drawodds;
my $twoodds;
my $hold;
my $match;
my $kamp;
my $large;
my $double = "gt25";
my $bookkie;
my $count = 0;
my $errorlines;
my $matchfound = "false";
if ($res->is_success) {
$oddsliste = $res->content;
} else {
$errorlines = "Bad luck this time\n";
};
my @b= split(/\n/,$oddsliste);
$oddsliste =~ s/<.*?>/""/gs; #væk med Html tags
$oddsliste =~ s/\"/ /gs;
LINE: for (@b) {
s/^\s*//;
chomp;
next LINE if ($_ !~ /./);
next LINE if (/avg/);
if (/(\w+)\s*(\d{1,2}).*?(\d{4})(.*?)-(.*)/) {
$month = $1;
$dag = $2;
$year = $3;
$home = $4;
$guest = $5;
$month =~ s/January/1/;
$month =~ s/February/2/;
$month =~ s/March/3/;
$month =~ s/April/4/;
$month =~ s/Mai/5/;
$month =~ s/June/6/;
$month =~ s/July/7/;
$month =~ s/August/8/;
$month =~ s/September/9/;
$month =~ s/October/10/;
$month =~ s/November/11/;
$month =~ s/December/12/;
$dato = join('/', $dag, $month,$year);
$matchfound = "true";
next LINE ;
} else {
if ($_ !~ /\d+?.+?\d+?.+?\d+?.+?\d+?.+?\d+?.+?\d+?.+?/) {
$matchfound = "false"
}
};
if(
($matchfound =~ /true/) &&
($_ !~ /\D\d{5,6}\D/) &&
(
(/^(.*?)\s+(\d{3})\s+(\d{3})\s+(\d{3}).*/) ||
(/^(.*?)(\d{4})\s+(\d{3})\s+(\d{3}).*/) ||
(/^(.*?)\s+(\d{3})(\d{4})\s+(\d{3}).*/) ||
(/^(.*?)\s+(\d{3})\s+(\d{3})(\d{4}).*/)
)
) {
$bookkie = $1;
$oneodds = $2;
$drawodds= $3;
$twoodds= $4;
print OUTPUT
$dato,"\t",
$home | " ",
$guest | " ",
$bookkie | " ",
$oneodds,"\t",
$drawodds,"\t",
$twoodds,"\n";
next LINE ;
} else{
$errorlines .= $dato."\t".$matchfound."\t".$home."\t".$guest."\t".$_."\n"
}
};
print OUTPUT "Fejlramte linjer \n",$errorlines;
close OUTPUT
--
Med venlig hilsen Poul-Erik Andreasen
 |
 |
 |
| |
|
|
 |
| |
|
Henvendelse vedrørende websiderne til <www_admin>.
|
Senest ændret
2005-08-10, klokken 19:53
Denne side vedligeholdes af
MHonArc
.
|
|
|
 |
 |
 |