Користувач:Дядько Ігор/Скрипти/Смт

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Зберегти код у файлі під назвою "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''' &ndash;  [[селище міського типу]] [[$district|Перечинського району]] [[$region|Луганської області]]. 

$nw $wp1
$html_line1

{{Ukraine-geo-stub}}
{{$district}}
[[Категорія:$district]]
 
EndCard
;