while (my $line = <>) { chomp $line; my $tree = build_subtree($line); walk_postorder($tree,[\&mark_heads,\&annotate]); #####offending line's below####### @{$tree->{children}}[0]->{label} =~ s/^\*//; # undo top-level merge print build_subtree_oneline($tree,1), $/; }