use 5.024; use strict; use warnings; my @list_data = ( { indent => 0, text => "Test 1" }, { indent => 2, text => "Test 2" }, { indent => 1, text => "Test 3" }, { indent => 1, text => "Test 4" }, { indent => 3, text => "Test 5" }, ); my $type = q(ol); my $level = -1; my $html = q(); for my $element (@list_data) { if ($level < $element->{indent}) { # Stufen einfuegen $html .= qq(<$type>
  • ) x ($element->{indent} - $level); } elsif ($level > $element->{indent}) { # Stufen schliessen $html .= qq(
  • ) x ($level - $element->{indent}); } else { # Gleiche Ebene $html .= q(
  • ); } $level = $element->{indent}; $html .= $element->{text}; } # Cleanup: Close open lists $html .= q(
  • ) x ($level+1); print $html;