Based on the sage advice in this thread and my own past experience, I have decided on the following (personal approach):
1. For very simple, repetitively used, definitively *scalar* compound statements with if/unless, use the comma operator to allow for single line visually cleaner code. e.g,
$error = "Bad result", next unless defined $result;
2. Consider using the 'do' statement if the compound statement is still very short and the code will be visually cleaner and easier to read but the operators are non-scalar, so the comma operator can't be used. e.g.,
do{push @results, $item; next} if defined $item;
Although, that may not be much better/cleaner than:
if(defined $item){push @results, $item; next}
3. Otherwise use the full-blown if/else alternative
Of course, others will choose other options...