![]() ![]() |
Интересные решения 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",
},
}
Опубликовано: 29 сентября 2007 года. Комментарии посетителей сайта
|
|
© Алексей Кощеев, г.Киров, 2001-2023 |
|