http://qs321.pair.com?node_id=1109427


in reply to Re: perltidy for ternary operator?
in thread perltidy for ternary operator?

Page 32 of PBP, first edition : </p

You can use the tabular layout even if you have only a singular ternary .... Starting out this way makes it easier for maintainers to subsequently add new alternatives to the table.

As Occam said: Entia non sunt multiplicanda praeter necessitatem.

Replies are listed 'Best First'.
Re^3: perltidy for ternary operator?
by LanX (Saint) on Dec 06, 2014 at 19:06 UTC
    That's a suggestion ("you can") for the case you expect new entries to come.

    But that's not a problem with perltidy, cause cascades (as demonstrated) would be fixed automatically.

    And I doubt that breaking simple ternaries would be appreciated by the majority.

    It might interest you that tidy's output of a simple ternaries depends on existing linebreaks: (see -bot option)¹

    lanx@lanx-1005HA:~$ cat /tmp/tst.pl my $var1 = $condition ? $val_for_true : $val_for_none ; #own linebreak my $var2 = $condition ? $val_for_true : $val_for_none ; lanx@lanx-1005HA:~$ perltidy -pbp /tmp/tst.pl my $var1 = $condition ? $val_for_true : $val_for_none; #own linebreak my $var2 = $condition ? $val_for_true : $val_for_none;

    Since the documentation mentions ternaries only once for -bot I doubt your goal can be achieved! (i.e. without patching the code)

    Cheers Rolf

    (addicted to the Perl Programming Language and ☆☆☆☆ :)

    update

    ¹) i.a.W if you expect the ternary to be cascaded in the future then enter a linebreak manually.

      I didn't ask how to achieve what the majority want, I asked how to achieve what I want.

      As Occam said: Entia non sunt multiplicanda praeter necessitatem.

        Could one not just create a second ternary operation that perl would optimize out, such as the following?

        According to B:Deparse, the second ternary operator appears to be optimized out:

        However, the code, when handled by Perl::Tidy, appears to be formatted in the manner the OP is requesting:

        I know that may not be what the OP was hoping for, but perhaps it might be an option to look at.

        Hope that helps.

        And you got an answer: patch the code.

        There is no option for your private needs

        Cheers Rolf

        (addicted to the Perl Programming Language and ☆☆☆☆ :)