#!/usr/bin/perl use Data::Dumper; @arr = ( '/usr/bin/local', '/usr/bin/local/fff', '/usr/bin/locale/abc', '/usr/bin/locale/etc', '/usr/bino/local', '/usr/bino/local', '/usr/bino/local/ssss' ); my @resultset; my $count = 0; #Laege des laengsten elemenst des Arrays foreach(@arr){ my @a = split('/',$_); if($#a > $count){ $count = $#a; } } foreach(@arr){ my @a = split('/',$_); push @resultset, $resultset[0]->{$a[1]}->{$a[2]}->{$a[3]}->{$a[4]} = {}; } print Dumper($resultset[0]);