my $balanced = "(1 + 2 * (3 + (5/4) + 8) + 6)"; my $unbalanced1 = "(((1 + 2 * (3 + (5/4) + 8) + 6))"; my $unbalanced2 = "(((1 + 2 * (3 + (5/4) + 8) + 6))))"; printf("Is $balanced balanced? %s\n", balanced_parens($balanced) ? "yes" : "no"); printf("Is $unbalanced1 balanced? %s\n", balanced_parens($unbalanced1) ? "yes" : "no"); printf("Is $unbalanced2 balanced? %s\n", balanced_parens($unbalanced2) ? "yes" : "no");