Geo::ICAO

| Комментариев: 2

О чем можно написать на сайт про Perl, ожидая самолет на Perl-воркшоп? О модуле про авиацию :-)

На спане есть модуль Geo::ICAO, который содержит различные списки с информацией о кодах ICAO и функции-интерфейсы к ним. ICAO — международная организация гражданской авиации, которая помимо прочего выдает четырехбуквенные коды аэропортам и одно- или двухбуквенные коды странам и регионам мира.

Geo::ICAO группирует свои функции в несколько групп: регионы, страны и аэропорты и экспортирует их группами по запросу. Либо сразу все:

use Geo::ICAO qw(:all);

Часть функций просто возвращает списком все, что известно по теме, например, all_region_names и all_region_codes — списки названий и кодов регионов.

Другая часть отображает код на название и наоборот, например:

say region2code('Russia and former Soviet States');

say code2region('U');

Аналогично работают и функции all_country_names и all_country_codes (названия и коды стран) и пара country2code c code2country. В третьей группе — функции для работы с названиями и кодами аэропортов: all_airport_names, all_airport_codes, airport2code и code2airport:

say airport2code('Sheremetyevo International Airport');

say code2airport('UUEE');

В списочном контексте функция code2airport возвращает два значения (название аэропорта и его месторасположение):

my ($airport, $location) = code2airport('UUEE');

say "$airport, $location";

Этот вызов напечатает следующее:

Sheremetyevo International Airport, Moscow, Russia

При использовании модуля нужно помнить, что его последнее обновление было ровно два года назад, в ноябре 2007-го.

Комментариев: 2

Андрей, мне кажется, что в строке
my ($airport, $location) = code2airport('UUEE');
не скалярный контекст, а списочный.

Комментировать

Страницы

  • img

Об этой записи

Сообщение опубликовано 26.11.2009 22:32. Автор — ash.

Предыдущая запись — Perl и Премия рунета

Следующая запись — Презентации с KZ Perl 2009

Смотрите новые записи на главной странице или загляните в архив, где есть ссылки на все сообщения.