#!/usr/bin/perl -- use strict; use warnings; use Tree::Builder; my $tb = Tree::Builder->new(); my @list = qw[ /var/www/data/stuff /var/www /var/www/data/misc /var/logs /var/logs/data ]; $tb->add($_) for @list; use Data::Dumper; print Dumper( { $tb->getTree } ); __END__ $VAR1 = { '' => { 'var' => { 'www' => { 'data' => { 'misc' => {}, 'stuff' => {} } }, 'logs' => { 'data' => {} } } } };