Читайте также:
|
|
Синтаксис Perl має багато спільного з синтаксисом мов Сі, Awk, Sed і Shell. Перший рядок початкового коду може починатися з «#!/Шлях/до/Perl [-ключі]» — що указує системі шлях до інтерпретатора Perl для виконання програми в *NIX системах і виконання їх на Веб-сервері.
Структура мови складається з наступних елементів:
§ Змінних, які бувають трьох типів: скалярні (позначаються знаком "$"), масиви (оголошуються знаком "@") і хеши (перед такими ставиться знак "%").
§ Коментарі (позначаються символом "#"), які призначають застосування якого-небудь дії.
§ Інтегратора "print", службовця для прив'язки чого-небудь. Наприклад, елемента на сторінці Web, іншого сценарію, тощо.
§ Шаблонів - регулярних виразів, що служать для ведення логічних порівнянь змінних.
Також код сценарію може складатися з різних операторів, модулів і вбудованих функцій, залежно від завдань сценарію.
Про все це, у форматі "для початківців", ви знайдете зверху на сторінці за відповідними посиланнями. Для вивчення - використовуєте порядок, в якому вони розташовані. Це забезпечить вам правильну послідовність отримання інформації. У міру вивчення кожної з сторінок - закріплюйте тренінгом на своєму ПК.
На завершення скажемо, що сценарії будуть працювати у випадку посилань на них у самому HTML-коді сторінки.
Приклад програми
# /usr/bin/perl
$country = 'Австрія';
$region = 'Каринтія';
$town = '{{subst:PAGENAME}}';
open (MTC,"city.txt");
while ($line = <MTC>)
{
if ($line =~ m/^[\{\}]/)
{
}
else
{
($name1, $name2, $res) = split(/=/, $line,3);
$name1 =~ s/\s//;
$name2 =~ s/\n//;
$name2 =~ s/\|//;
$name2 =~ s/\s+$//;
if ($name1 eq 'name')
{$town_local = $name2;}
if ($name1 eq 'image_coa')
{$coat = $name2;}
if ($name1 eq 'postal_code')
{$postal_code = $name2;}
if ($name1 eq 'population')
{$population = $name2;}
if ($name1 eq 'pop_dens')
{$population_density = $name2;
$population_density =~ s/\./\,/;}
if ($name1 eq 'area')
{
$area = $name2;
$area =~ s/\./\,/;
}
if ($name1 eq 'lat_deg')
{$lat_deg = $name2;}
if ($name1 eq 'lat_min')
{$lat_min = $name2;}
if ($name1 eq 'lon_deg')
{$lon_deg = $name2;}
if ($name1 eq 'lon_min')
{$lon_min = $name2;}
if ($name1 eq 'area_code')
{$city_code = $name2;}
if ($name1 eq 'mayor')
{$mayor = $name2;}
if ($name1 eq 'website')
{$web = $name2;}
}
print<<EndCard
\{\{Картка:Місто
| назва = $town
| місцева_назва = $town_local
| зображення = $image
| зображення_розмір = $image_size
| зображення_підпис = $caption
| прапор = $flag
| прапор_підпис = $flag_caption
| герб = $coat
| герб_підпис = $coat_caption
| країна = $country
| регіон = $region
| розташування = $location
| розташування_розмір = $location_size
| засноване = $foundation
| статус = $status
| магдебурзьке право = $magdeburg
| населення = $population
| густота = $population_density
| агломерація = $aglomeration
| площа = $area
| поштові індекси = $postal_code
| код країни = $country_code
| код міста = $city_code
| координати = \{\{Coor dms |$lat_deg\|$lat_min\|$lat_sec\|N\|$lon_deg\|$lon_min\|$lon_sec\|E\|/scale:30000\}\}
| поділ міста = $structure
| міста-побратими = $twins
| день міста = $day
| адреса = $address
| веб-сторінка = $web
| мер = $mayor
}}
'''\{\{\subst:PAGENAME}\}''' (\{\{lang-de\|$town_local\}\}) - місто в федеральній землі [[Каринтія]], [[Австрія]].
\{\{geo-stub\}\}
\[\[Категорія:Міста Австрії\]\]
\[\[de:$town_local\]\]
EndCard
;
Дата добавления: 2014-12-19; просмотров: 107 | Поможем написать вашу работу | Нарушение авторских прав |