in reply to My kingdom for a substring
Namely, one fixed hash entry, in this case 'main', to be the catagory for that directory, and other entries as hashes to other sub directories.my %data = ( 'main' => 'Top Level', 'pc' => ( 'main' => 'PC Software', 'gfx' => ( 'main' => 'Graphics', ... ), .... ) ...);
Thus, given a directory path, you can generate the Catagory Path as...
UNTESTED!!!sub get_catagory_path { my @paths = split /\//, $_[0]; # may need to play with leading / my @catagories; my $working_hash = \@data; foreach $dir ( @paths ) { push @catagories $working_hash->{'main'}; $working_hash = $working_hash->{ $dir }; } return join '/', @catagories; }
|
|---|