Note that the HTML block you provide is not valid (missing
</td>, and a
<tr> instead of
</tr>). It would help if you showed us your desired output. It may be better to build up a Perl data structure first and then extract the values you need:
# ... as before
my @aoa;
for my $row ( @rows ) {
my @cells = $row->findnodes('td');
my @ary = map { $_->as_text } @cells;
push( @aoa, \@ary );
}
print Dumper( \@aoa );
print "Headers:\n";
my $headers = shift @aoa;
print "$headers->[0], $headers->[1]\n";
print "Rows:\n";
for my $ary ( @aoa ) {
print "$headers->[0]: $ary->[0], $headers->[1]: $ary->[1]\n";
}
Output:
$VAR1 = [
[
'Remote Host',
'Port Number'
],
[
'192.5.5.241',
'8091'
]
];
Headers:
Remote Host, Port Number
Rows:
Remote Host: 192.5.5.241, Port Number: 8091