Цей конкретний скрипт створює таблицю клімату, використовуючи дані веб-сайту http://www.yr.no
Програма напіваавтоматична, тому що потрібно щоразу редагувати код.
#!/usr/bin/perl
$line = "January -2.3°C 1.5°C -5.6°C 7
February -0.1°C 4.2°C -3.3°C 7
March 4.7°C 10.0°C 0.7°C 7
April 11.1°C 17.3°C 5.7°C 8
May 16.6°C 22.9°C 10.9°C 9
June 19.8°C 26.2°C 13.8°C 8
July 21.9°C 28.5°C 15.7°C 6
August 21.3°C 28.2°C 15.3°C 5
September 17.4°C 24.5°C 11.8°C 5
October 11.1°C 17.7°C 6.2°C 4
November 5.0°C 9.6°C 1.6°C 8
December 0.1°C 3.5°C -2.5°C 7";
$adress = 'http://www.yr.no/place/Romania/Mehedinti/23_August/statistics.html';
$nazva = '23 Аугуста';
if ($line =~ m/January (.*)°C (.*)°C (.*)°C (.*)/)
{
$jannorm = $1;
$janwarm = $2;
$jancold = $3;
$janprec = $4;
}
if ($line =~ m/February (.*)°C (.*)°C (.*)°C (.*)/)
{
$febnorm = $1;
$febwarm = $2;
$febcold = $3;
$febprec = $4;
}
if ($line =~ m/March (.*)°C (.*)°C (.*)°C (.*)/)
{
$marnorm = $1;
$marwarm = $2;
$marcold = $3;
$marprec = $4;
}
if ($line =~ m/April (.*)°C (.*)°C (.*)°C (.*)/)
{
$aprnorm = $1;
$aprwarm = $2;
$aprcold = $3;
$aprprec = $4;
}
if ($line =~ m/May (.*)°C (.*)°C (.*)°C (.*)/)
{
$maynorm = $1;
$maywarm = $2;
$maycold = $3;
$mayprec = $4;
}
if ($line =~ m/June (.*)°C (.*)°C (.*)°C (.*)/)
{
$junnorm = $1;
$junwarm = $2;
$juncold = $3;
$junprec = $4;
}
if ($line =~ m/July (.*)°C (.*)°C (.*)°C (.*)/)
{
$julnorm = $1;
$julwarm = $2;
$julcold = $3;
$julprec = $4;
}
if ($line =~ m/August (.*)°C (.*)°C (.*)°C (.*)/)
{
$augnorm = $1;
$augwarm = $2;
$augcold = $3;
$augprec = $4;
}
if ($line =~ m/September (.*)°C (.*)°C (.*)°C (.*)/)
{
$sepnorm = $1;
$sepwarm = $2;
$sepcold = $3;
$sepprec = $4;
}
if ($line =~ m/October (.*)°C (.*)°C (.*)°C (.*)/)
{
$octnorm = $1;
$octwarm = $2;
$octcold = $3;
$octprec = $4;
}
if ($line =~ m/November (.*)°C (.*)°C (.*)°C (.*)/)
{
$novnorm = $1;
$novwarm = $2;
$novcold = $3;
$novprec = $4;
}
if ($line =~ m/December (.*)°C (.*)°C (.*)°C (.*)/)
{
$decnorm = $1;
$decwarm = $2;
$deccold = $3;
$decprec = $4;
}
$avenorm = ($jannorm + $febnorm + $marnorm + $aprnorm + $maynorm + $junnorm + $julnorm + $augnorm + $sepnorm + $octnorm + $novnorm + $decnorm) / 12;
$aveprec = $janprec + $febprec + $marprec + $aprprec + $mayprec + $junprec + $julprec + $augprec + $sepprec + $octprec + $novprec + $decprec;
$avecold = ($jancold + $febcold + $marcold + $aprcold + $maycold + $juncold + $julcold + $augcold + $sepcold + $octcold + $novcold + $deccold) / 12;
$avewarm = ($janwarm + $febwarm + $marwarm + $aprwarm + $maywarm + $junwarm + $julwarm + $augwarm + $sepwarm + $octwarm + $novwarm + $decwarm) / 12;
$sernorm = sprintf("%.1f", $avenorm);
$sercold = sprintf("%.1f", $avecold);
$serwarm = sprintf("%.1f", $avewarm);
open(my $fd, ">>climate.txt");
print $fd "== Географія ==
=== Клімат ===
{{Клімат міста
|Місто_род=$nazva
|Джерело=[$adress www.yr.no]
| Січ_сер=$jannorm | Січ_опади=$janprec
| Лют_сер=$febnorm | Лют_опади=$febprec
| Бер_сер=$marnorm | Бер_опади=$marprec
| Кві_сер=$aprnorm | Кві_опади=$aprprec
| Тра_сер=$maynorm | Тра_опади=$mayprec
| Чер_сер=$junnorm | Чер_опади=$junprec
| Лип_сер=$julnorm | Лип_опади=$julprec
| Сер_сер=$augnorm | Сер_опади=$augprec
| Вер_сер=$sepnorm | Вер_опади=$sepprec
| Жов_сер=$octnorm | Жов_опади=$octprec
| Лис_сер=$novnorm | Лис_опади=$novprec
| Гру_сер=$decnorm | Гру_опади=$decprec
| Рік_сер=$sernorm | Рік_опади=$aveprec
| Січ_сер_мін=$jancold | Січ_сер_макс=$janwarm
| Лют_сер_мін=$febcold | Лют_сер_макс=$febwarm
| Бер_сер_мін=$marcold | Бер_сер_макс=$marwarm
| Кві_сер_мін=$aprcold | Кві_сер_макс=$aprwarm
| Тра_сер_мін=$maycold | Тра_сер_макс=$maywarm
| Чер_сер_мін=$juncold | Чер_сер_макс=$junwarm
| Лип_сер_мін=$julcold | Лип_сер_макс=$julwarm
| Сер_сер_мін=$augcold | Сер_сер_макс=$augwarm
| Вер_сер_мін=$sepcold | Вер_сер_макс=$sepwarm
| Жов_сер_мін=$octcold | Жов_сер_макс=$octwarm
| Лис_сер_мін=$novcold | Лис_сер_макс=$novwarm
| Гру_сер_мін=$deccold | Гру_сер_макс=$decwarm
| Рік_сер_мін=$sercold | Рік_сер_макс=$serwarm
|br=}}
EndCard
;"
Немає коментарів:
Дописати коментар