in reply to Re: Ternary operators: a hinderance, not a help
in thread Ternary operators: a hinderance, not a help
I expect that the corresponding nested if..else construct would be even more baffling. The weakness here is in the negated and chopped-up logic, not the trinary op. I'll make a first cut at rewriting it:
Not nested, you can use it now ;-)my $send_now_button = $auth{'SEND'} && $status==1 && $approved && !$send_now ? qq( ...blah blah ...) : '';
I think I had an easier time decyphering the (well-formatted!) nested trinary than I would have a similarly built if statement.
Update: Just for fun, here's thing I'm slanging, formatted the best I know how,
Noisy, ain't it? That maybe does even better than the trinary version at pointing out how ludicrous the logic is, but IMO trinary makes it easier to see how to fix it. I didn't even bring elsif to the table :-))my $send_now_button; if ( !$auth{'SEND'} ) { $send_now_button = ''; } else { if ( $status != 1 ) { $send_now_button = ''; } else { if ( $approved ) { if ( $send_now ) { $send_now_button = ''; } else { $send_now_button = qq( ...blah blah ...); } } else { if ( $send_now ) { $send_now_button = ''; } else { $send_now_button = ''; } } } }
After Compline,
Zaxo
|
|---|