# # demonstrates how to create a treeview from a hash # use strict; use Data::Dumper; our %R; # this variable must be global to Win32::GUI::XMLBuilder! use Win32::TieRegistry(Delimiter=>"|", ArrayValues=>0, TiedHash=>\%R); use Win32::GUI::XMLBuilder; Win32::GUI::XMLBuilder->new(*DATA); Win32::GUI::Dialog; sub hashwalk { my ($T, $node, $HR, $n) = @_; $n == 0 ? return : $n--; foreach my $k (keys %$HR) { my $newnode = $T->InsertItem(-parent => $node, -text=>$k); &hashwalk($T, $newnode, $$HR{$k}, $n) if ref($$HR{$k}) ne ''; Win32::GUI::DoEvents(); } } __END__ hashwalk($self->{T}, 0, \%R, 2)