Well, i'm not so sure this is a dumb thing to do. For one it allows more flexibility than ||, because you can add the word 'defined' to the beginning which is often the best way to handle defaults. Consider
my $value=0;
my $string1=$value || "No value assigned"
my $string2=$value ? $value : "No value assigned"
my $string3=defined $value ? $value : "No value assigned"
Only $string3 will have the correct value.
What did I do as a mistake in my early stages? I underutilized modifiers leading to hard to read code, I had a lot of $var->{key}->{key}->{key}->{key} kind of stuff. Using temporary variables cleaned that up as well as learning that the form $var->{key}{key} is legit.
Yves
--
You are not ready to use symrefs unless you already know why they are bad. -- tadmc (CLPM)