in reply to Conditional idiom : "if X equals Y or Z" ??

Then there's always this hashy version:
my %defaults = (GetAll => 1, Make => 1, MakeOnly => 1); for (@tabs) { $_->{Suppress} = $defaults{$_->{Action}} if exists $defaults{$_->{Ac +tion}}; }
which behaves the same as any of your examples, although I don't generally consider "default" to mean "value that clobbers any preexisting value"... You might instead want to include all allowed Actions in %defaults and then, when Action is set, do a
$_->{Suppress} = $defaults{NewAction} if $->{Suppress} == $defaults{Ol +dAction}