Разбор 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'
                               ]
                 }
            );

0 ответов

Другие вопросы по тегам