![]() |
|
||||||||||
|
|||||
|
Я в перле почти никак, но надо сделать....
Имеется файло usd.pl (скрипт не мой - скачал), которое должно получать дату и текущий курс доллара с сайта РБК и писать в файл... мне надо шоб оно мне в хтмл в нужное место выводило только курс.... пытался сделать просто вывод в браузер, еще без позиционирования.... дату выдает, а вместо курса - 0.0 Исходник: #!/usr/bin/perl $URL = "http://www.rbc.ru/"; # URL with rate $keyword = "USD г+ ¦L"; # stamp of start line $fhistory = "rate_history.txt"; # file of rate history $frate = "rate.txt"; # file of rate #$add_percent = 2.; # add that percents to rate before saving $format = "%5.1f"; # format of rate to save $regexp = "[\\d\\/,]+"; # regular expression to extract date and rate; duplicate any "\" use LWP::Simple; $content = get($URL); @arr = split(/\n/, $content); $flag = 0; for (@arr) { if ($flag == 0) { if (/$keyword/) {$flag = 1}; } elsif ($flag == 1) { />($regexp)</; # print "Date: $1\n"; $date = $1; $flag = 2; } elsif ($flag == 2) { />($regexp)</; # print "Rate: $1\n"; $rate = $1; $flag = 3; } } $rate =~ s/,/./; $rate *= (1+$add_percent/100); $rate = sprintf($format,$rate); open (OUT, ">>$fhistory"); print OUT "$date\t$rate\n"; close OUT; open (OUT, ">$frate"); print OUT "$rate"; close OUT; Чего я сделал (да почти ничего): #!/usr/bin/perl $URL = "http://www.rbc.ru/"; # URL with rate $keyword = "USD г+ ¦L"; # stamp of start line #$fhistory = "/var/log/rate_history.txt"; # file of rate history #$frate = "/var/log/rate.txt"; # file of rate #$add_percent = 2.; # add that percents to rate before saving $format = "%5.1f"; # format of rate to save $regexp = "[\\d\\/,]+"; # regular expression to extract date and rate; duplicate any "\" use LWP::Simple; $content = get($URL); @arr = split(/\n/, $content); $flag = 0; for (@arr) { if ($flag == 0) { if (/$keyword/) {$flag = 1}; } elsif ($flag == 1) { />($regexp)</; print "Date: $1\n"; $date = $1; $flag = 2; } elsif ($flag == 2) { />($regexp)</; print "Rate: $1\n"; $rate = $1; $flag = 3; } } $rate =~ s/,/./; $rate *= (1+$add_percent/100); $rate = sprintf($format,$rate); ##open (OUT, ">>$fhistory"); ##print OUT "$date\t$rate\n"; ##close OUT; ##open (OUT, ">$frate"); ##print OUT "$rate"; ##close OUT; print "Content-type: text/html\n"; print "\n"; print "<html><body>"; print "<b>"; print "$rate\n"; print "</b>"; print "</body></html>"; Заранее благодарен. |
![]() |
Часовой пояс GMT +4, время: 12:25. |
|
|
« Предыдущая тема | Следующая тема » |
|
|