in reply to Ternary operators
Note that it's called the conditional operator. It's merely one of a few ternary operators.
If you wanted to use the conditional operator, it would look like the following:
$broken->{this} = $_ eq 'this' ? 1 : $broken->{this}; $broken->{that} = $_ eq 'that' ? 1 : $broken->{that}; $broken->{another} = $_ eq 'another' ? 1 : $broken->{another};
But that would be silly.
You want
$broken->{$_} = 1 for @list;
or
my @valid = qw( this that another ); $broken->{$_} = 0 for @valid; $broken->{$_} = 1 for @list;
or
my %valid = map { $_ => 1 } qw( this that another ); $broken->{$_} = 1 for grep $valid{$_}, @list;
or
my @valid = qw( this that another ); my %valid = map { $_ => 1 } @valid; $broken->{$_} = 0 for @valid; $broken->{$_} = 1 for grep $valid{$_}, @list;
|
|---|