sub treebuilder { my ($filename, $level) = @_; my $PRESENTLEVELFILE; unless(open($PRESENTLEVELFILE, '<', $filename)) { warn "$filename: $!"; return; } my $leafline = <$PRESENTLEVELFILE>; print $final "0 $leafline" if ( $filename eq $rootfile ); while ( my $leafline = <$PRESENTLEVELFILE> ) { print $final "$level $leafline"; my @element = split( '§', $leafline ); treebuilder("$folder_IN/${level}_$element[0].CSV",$level + 1); } close($PRESENTLEVELFILE); }