I'm not sure what you mean here - you provide a classic
example of where or
is most certainly not appropriate (as if you
use it, $param will never get the value of $default).
$param = $value or $default;
Will result in $param always getting the value of $value, never
has lower precedence than = (in fact
it has the absolute lowest precedence of all the operators).
Maybe it was just me not being clear, though. You should
always use 'or' where what you really want to say is:
($param=$value) or die "darn"
That is, you don't want the value of die
to get assigned
to $param (yeah, die doesn't return very often. But it
forces scalar context, which is why the alternative is a Bad Thing).
, your example would have to be:
$param=$value or $param=$default
So it's not always a matter of style.