Unlike in your HTML example in the OP, the dump suggests you have many td's in one tr, not one td per tr. You can for example add an inner loop over the td's - but if the structure of your data is not fixed, you can have similar problems every time another level of nesting appears!
Comment on Re^3: Parse HTML Code for hidden values
my %rec;
for my $table (@{ $response->{body}{table} }) {
for my $tr (@{ $table->{tr} }) {
for my $td (@{ $tr->{td} }) {
my ($key) = grep $_ ne 'content', keys(%$td);
$rec{$key} = $td->{$key};
}
}
}
print("$rec{LastName}\n"); # For example