in reply to Creating a tree menu from list (AoA, HoH)
This ought to give you a head start. However, you didn't specify your problem very well, as I have no idea what type of treemenu you're wanting. (Web? Tk? Windows? ...?) So the code builds a hash containing the structure of your treemenu. Just add the appropriate code in dumptree to build your menu in whatever UI you need.
Roboticus@Roboticus-PC ~ $ cat treemenu.pl use strict; use warnings; my %menu; my $hr; while (<DATA>) { chomp; my @keys = split /\|/,$_; next if @keys < 1; $hr = \%menu; while (my $k=shift @keys) { $$hr{$k} = {} unless exists $$hr{$k}; $hr = $$hr{$k}; } } dumptree('', \%menu); sub dumptree { my $indent = shift; my $hr = shift; for my $k (sort keys %$hr) { print $indent, $k, "\n"; if (keys %{$$hr{$k}}) { dumptree($indent." ", $$hr{$k}); } } } __DATA__ CDs Books|Adventure Movies|Music Books Books|Sports Movies Movies|Adventure Books|Drama CDs|Classic Roboticus@Roboticus-PC ~ $ perl treemenu.pl Books Adventure Drama Sports CDs Classic Movies Adventure Music Roboticus@Roboticus-PC ~ $
...roboticus
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Creating a tree menu from list (AoA, HoH)
by DreamT (Pilgrim) on Sep 24, 2010 at 07:24 UTC |