О себе События Портфолио Статьи Гостевая Фотоальбом На злобу дня Ссылки Учеба Программы
Alex_K (г.Киров) - Алексей Кощеев
Хостинг и регистрация доменов в Кирове

Интересные решения Perl. Вопросы и ответы

Аналог функции print_r() языка PHP

Печать информации о переменной в удобном для человека виде

В языке PHP есть несколько встроенных функций для представления содержания переменной в удобном для человека (human readable) виде. Это функции print_r(), var_dump(), var_export().

В Perl нет встроенных функций для выполнения подобных операций. Однако есть модули, один из них Data::Dump.

Модуль Data::Dump содержит всего одну процедуру - dump().

Приведенный ниже код печатает структуру переменной $ref, которая является Perl-представлением XML-файла, взятого из Сети при помощи модуля LWP::Simple.

#!/usr/bin/perl use strict; use warnings; use XML::Simple; use LWP::Simple (); use Data::Dump qw(dump); my $xmlStr = LWP::Simple::get('http://informer.gismeteo.ru/xml/27196_1.xml'); my $xs = new XML::Simple(); my $ref = $xs->XMLin($xmlStr, keyattr => []); print dump($ref);

Результат работы скрипта выглядит следющим образом:

{ REPORT => { TOWN => { FORECAST => [ { HEAT => { max => 8, min => 6 }, PHENOMENA => { cloudiness => 1, precipitation => 10, rpower => 0, spower => 0 }, PRESSURE => { max => 758, min => 756 }, RELWET => { max => 89, min => 84 }, TEMPERATURE => { max => 8, min => 6 }, WIND => { direction => 7, max => 5, min => 2 }, day => 29, hour => 22, month => 9, predict => 18, tod => 3, weekday => 7, year => 2007, }, { HEAT => { max => 6, min => 4 }, PHENOMENA => { cloudiness => 1, precipitation => 10, rpower => 0, spower => 0 }, PRESSURE => { max => 757, min => 755 }, RELWET => { max => 92, min => 87 }, TEMPERATURE => { max => 6, min => 4 }, WIND => { direction => 6, max => 6, min => 3 }, day => 30, hour => 4, month => 9, predict => 24, tod => 0, weekday => 1, year => 2007, }, { HEAT => { max => 9, min => 7 }, PHENOMENA => { cloudiness => 1, precipitation => 10, rpower => 0, spower => 0 }, PRESSURE => { max => 756, min => 754 }, RELWET => { max => 68, min => 63 }, TEMPERATURE => { max => 10, min => 8 }, WIND => { direction => 7, max => 6, min => 3 }, day => 30, hour => 10, month => 9, predict => 30, tod => 1, weekday => 1, year => 2007, }, { HEAT => { max => 13, min => 11 }, PHENOMENA => { cloudiness => 2, precipitation => 10, rpower => 0, spower => 0 }, PRESSURE => { max => 756, min => 754 }, RELWET => { max => 63, min => 58 }, TEMPERATURE => { max => 13, min => 11 }, WIND => { direction => 7, max => 6, min => 3 }, day => 30, hour => 16, month => 9, predict => 36, tod => 2, weekday => 1, year => 2007, }, ], "index" => 27_196, latitude => 59, longitude => 50, sname => "%CA%E8%F0%EE%E2", }, type => "frc3", }, }
Смотрите также: Осуществление HTTP-запросов в Perl

Опубликовано: 29 сентября 2007 года.

Комментарии посетителей сайта

Dmitry    01.04.2012 16:55
  Спасибо! Волею судеб поддерживаю код на перле. Вроде и понятно все, но иногда застреваю на простейших, казалось бы вещах.

Далее: Вызов внешней программы из скрипта?
Предыдущий вопрос:HTTPS запросы в Perl
Перейти к списку вопросов
Fanshop.ru

Рейтинг@Mail.ru

Rambler's Top100

© Алексей Кощеев, г.Киров, 2001-2017 хостинг предоставлен компанией Айхэд