struct directory => { name => '$', files => '@', }; struct file => { name => '$', permis => '$', }; #### #@direc contains a list of directories foreach $dir (@direc){ foreach $fi (@{$dir->files}){ print $dir->$fi->name; } }