use CGI qw(ul li); use CGI::Pretty; sub hash2html { my $r = shift; return '' unless ref $r eq 'HASH'; return ul(li[map {$_.hash2html($r->{$_})} sort keys %$r]); }