sub print_tree { my ( $tree, $parent, $chain ) = ( @_, $EMPTY, $EMPTY ); ref $tree eq "HASH" or return; for ( sort keys %$tree ) { print /^\s*\z/ ? "" : "$parent;". "$chain"."$_", "\n"; print_tree( $tree->{$_}, $_, "$chain"."$_"."_"); } }