Користувач:Дядько Ігор/Скрипти/Смт
(Перенаправлено з Користувач:Дядько Ігор/Смт)
Зберегти код у файлі під назвою "vila.pl". Вихідний текст розміщувати в файлі під назвою "vila.txt".
Використання
- >perl vila.pl
Не працює для районних центрів.
#/usr/bin/perl
open (MTC,"vila.txt");
$line = <MTC>;
($name1, $name2) = split(/\s+/,$line,2);
$name2 =~ s/\n//;
$hamlet = $name2;
$line = <MTC>;
($region, $district) = split(/,/,$line,2);
$district =~ s/\n//;
for ($i =1; $i <11; $i++){
$line = <MTC>;
}
($n1, $founded, $n2) = split(/ /,$line, 3);
$founded =~ s/\n//;
for ($i =1; $i <16; $i++){
$line = <MTC>;
}
$postal_code = $line;
$postal_code =~ s/\n//;
for ($i =1; $i <6; $i++){
$line = <MTC>;
}
$district_c = $line;
$district_c =~ s/\n//;
for ($i =1; $i <6; $i++){
$line = <MTC>;
}
$rail_r = $line;
$rail_r =~ s/\n//;
for ($i =1; $i <6; $i++){
$line = <MTC>;
}
$road_r = $line;
$road_r =~ s/\n//;
for ($i =1; $i <6; $i++){
$line = <MTC>;
}
$region_r = $line;
$region_r =~ s/\n//;
for ($i =1; $i <6; $i++){
$line = <MTC>;
}
$rail_o = $line;
$rail_o =~ s/\n//;
for ($i =1; $i <6; $i++){
$line = <MTC>;
}
$waterpool = $line;
$waterpool =~ s/\n//;
for ($i =1; $i <6; $i++){
$line = <MTC>;
}
$area = $line*10;
$area =~ s/\./\,/;
for ($i =1; $i <6; $i++){
$line = <MTC>;
}
$area1 = $line;
$area1 =~ s/\n//;
for ($i =1; $i <6; $i++){
$line = <MTC>;
}
$population = $line*1000;
for ($i =1; $i <6; $i++){
$line = <MTC>;
}
$density = $line/1.0;
$density =~ s/\./\,/;
for ($i =1; $i <14; $i++){
$line = <MTC>;
}
$councel = $line;
$councel =~ s/\n//;
$line = <MTC>;
($n1,$phone_code) = split(/-/, $line, 2);
$phone_code =~ s/\n//;
$line = <MTC>;
$tel = <MTC>;
$tel =~ s/\n//;
for ($i =1; $i <4; $i++){
$line = <MTC>;
}
$address = <MTC>;
$address =~ s/\n//;
$area = "";
$ref_area = "";
$station = "";
$district_c = "";
$phys_r = "";
$rail_r = "";
$road_r = "";
$phys_o = "";
$ref_phys_o = "";
$rail_o = "";
$road_o = "";
open(CVK, "cvk.csv");
while($line = <CVK>)
{
($c1, $c2, $c3, $c4) = split(/\;/,$line, 4);
($c31, $c32) = split(/ /,$c3,2);
$c4 =~ s/\n//;
if ($c32 eq $hamlet){
$district =~ s/^ //;
$distr1 = $district;
if ($c4 eq $distr1){
$KOATUU = $c2}}
}
close(CVK);
open(CSV,"weather1.csv");
$line = <CSV>;
while ($line = <CSV>)
{
($html,$c_1, $c_2, $c_3, $c_4, $c_5, $c_6, $c_7) =
split(/;/,$line,8);
$c_7 =~ s/\n//;
if ($c_1 eq $hamlet)
{
$distr_2 = $district;
$distr_2 =~ s/^ //;
($disr_3, $distr_4) = split(/ /, $distr_2, 2);
if ($disr_3 eq $c_4)
{
($lat,$lat1) = split(/\,/,$c_5,2);
$lat2 = 0.6*$lat1;
($lat_m,$lat3) = split(/\./,$lat2,2);
$lat_s = 6*$lat3;
($lon, $lon1) = split(/\,/,$c_6,2);
$lon2 = 0.6*$lon1;
($lon_m, $lon3) = split(/\./,$lon2,2);
$lon_s = 6*$lon3;
$elev = $c_7;
$html1 = $html;
$html = ~ s/^ //;
}
}
}
if ($html1 eq "")
{
$html_line1 ="";
}
else
{
$html_line1 = "==Інтернет посилання==\n[$html1 Погода в селі]";
}
print<<EndCard
{{Смт
| назва = $hamlet
| прапор = $flag
| герб = $coat
| область = [[$region]]
| район = [[$district]]
| рада = [[$councel]]
| код КОАТУУ = $KOATUU
| розташування = $location
| mapx = $mapx
| mapy = $mapy
| засноване = $founded
| населення = $population
| площа = $area
| статус = $status
| маґдебурзьке право = $magdeburg
| щільність = $density
| поштовий індекс = $postal_code
| телефонний код = $phone_code
| висота = $elev
| ref-висота = $ref_elev
| водойма = $waterpool
| координати = {{Coor dms |$lat|$lat_m|$lat_s|N|$lon|$lon_m|$lot_s|E|scale:30000}}
| ref-area = $ref_area
| станція = $station
| відстань = $district_c
| фізична р = $phys_r
| залізниця р = $rail_r
| автошлях р = $road_r
| фізична о = $phys_o
| ref-фізична о = $ref_phys_o
| залізниця о = $rail_o
| автошлях о = $road_o
| адреса = $address
| голова = $mayor
}}
'''$hamlet''' – [[селище міського типу]] [[$district|Перечинського району]] [[$region|Луганської області]].
$nw $wp1
$html_line1
{{Ukraine-geo-stub}}
{{$district}}
[[Категорія:$district]]
EndCard
;