#!/usr/bin/perl
use strict;
use warnings;
use 5.010;
use Mojo::DOM;
my $html = <<'HTML';
Alter:
Wohnort:
Haarfarbe:
Figur:
Gewicht:
|
28 Jahre
Berlin
blond
schlank
54 kg
|
HTML
my $dom = Mojo::DOM->new($html);
my ( %data_row, @keys, @val );
$dom->find('table tr td div')->each(
sub {
my $s = $_->content;
$s =~ s/[\r\n]//g;
my @data = split m|\s*
\s*|, $s;
if ( $s =~ /:/ ) {
@keys = grep /:/, @data;
}
else {
@val = grep { !/:/ } @data;
}
@data_row{@keys} = (@val) if @keys;
}
);
say "$_ $data_row{$_}" for @keys;
=comment
ergibt
Alter: 28 Jahre
Wohnort: Berlin
Haarfarbe: blond
Figur: schlank
Gewicht: 54 kg