В программах на Perl довольно часто используются сложные типы данных, и, естественно, умение пользоваться этими типами – залог успеха любого программиста.
Рассмотрим основные примеры использования сложных типов данных.
1. Perl Массив массивов
Для определения массива массивов можно использовать следующий код:
@tgs = (
['article series', 'sed & awk', 'troubleshooting', 'vim', 'bash'],
['ebooks', 'linux 101', 'vim 101', 'nagios core', 'bash 101' ]
);
Для обращения к отдельному элементу такого массива, например, второму, нужно записать следующее:
$tgs[0][1];
Следующий фрагмент кода позволяет последовательно обратиться к каждому из элементов:
print @$_, "\n" foreach ( @tgs );
2. Хеш хешей в Perl
Код для определения хеша хешей:
%tgs = (
'articles' => {
'vim' => '20 articles deleted',
'awk' => '9 articles deleted',
'sed' => '10 articles deleted'
},
'ebooks' => {
'linux 101' => 'Practical Examples to Build a Strong Foundation in Linux',
'nagios core' => 'Monitor Everything, Be Proactive, and Sleep Well'
}
);
Для обращения к отдельному элементу хеша, используется следующий фрагмент кода:
print $tgs{'ebooks'}{'linux 101'};
3. Хеш массивов Perl
Хеш массивов можно описать следующим фрагментом кода:
%tgs = (
'top 5' => [ 'Best linux OS', 'Best System Monitoring', 'Best Linux Text editors' ],
'15 example' => [ 'rpm command', 'crontab command', 'Yum command', 'grep command' ],
);
Обратимся поочередно ко всем элементам хеша массивов:
foreach my $key ( keys %tgs ) {
print "Articles in group $key are: ";
foreach ( @{$tgs{$key}} ) {
print $_;
}
}
4. Создание стека в Perl
Для создания стека в Perl, нужно к структуре "массив" применить функции push и pop, например:
В первую очередь опишем массив:
@array = ( 1, 2, 3, 4, 5 );
Далее можно выполнить следующие операции со стеком:
push ( @array, 6 ); # помещает элемент 6 на верхушку стека.
pop ( @array ); # возвращает верхний элемент 6.
5. Как визуализировать сложные типы данных в Perl
Чаще всего, разрабатывая код, использующий сложные структуры данных, невозможно обойтись без визуализации этих самых данных. Модуль Dumper как раз и предназначен для визуализации. Рассмотрим пример:
use Data::Dumper;
print Dumper $ref;
Этот фрагмент поможет отобразить структуру данных $ref в виде, удобном для восприятия:
$VAR1 = {
'a' => [
{'A' => 1,
'B' => 2},
{'D' => [4,5,6],
'C' => [1,2,3]}
]
};
Используя такой визуальный вывод можно увидеть, где хеш, а где массив. Визуальный вывод помогает при разработке Perl-программ.
| Продажа технической соли оптом Соль техническая прайс. Продажа технической соли оптом. navistroy.ru |