Разбор HTML-таблицы с помощью Perl: создать хэш столбцов
Я пытаюсь разобрать HTML-таблицу. Вот его код:
<table border = "1">
<caption>
<h4>table</h4>
</caption>
<thead>
<tr>
<th></th>
<th colspan="3">1st header</th>
<th colspan="3">2nd header</th>
<th colspan="3">3rd header</th>
</tr>
<tr>
<th></th>
<th colspan="3">subhead1</th>
<th colspan="3">subhead2</th>
<th colspan="3">subhead3</th>
</tr>
</thead>
<tbody>
<tr>
<td></td>
<td>text</td>
<td>more text</td>
<td>some more text</td>
<td>dog</td>
<td>bear</td>
<td>cat</td>
<td>toocan</td>
<td>inu</td>
<td>pes</td>
</tr>
</tbody>
</table>
Мне нужно получить perl-структуру данных столбцов, но я просто не могу понять, как это сделать:). Я смог получить сложную структуру данных $table, как показано в коде ниже:
#!/usr/bin/perl
use HTML::TableExtract;
use Data::Dumper;
use strict;
my $content = 'table.html';
my $te = HTML::TableExtract->new();
$te->parse_file($content);
my ($table) = $te->tables;
Я могу распечатать его с помощью Data::Dumper, но как мне правильно его использовать? Я хотел бы получить что-то вроде этого:
my %table = ( "first_header" => {
"subhead1" => [ 'text',
'more text',
'some more text'
],
"subhead2" => [ 'dog',
'bear',
'cat'
]
}
);