in reply to conditional print. Is correct to use it?
In my opinion, the only thing to do with unexpected values is die:
# ... but something forrible happens instead... die "Expected a value for fo" unless defined($fo) and length($fo);
Hard crashes have a way of getting fixed quickly. Anything else tends to cause odd behavior that is hard to track down.
Note: $fo is initiaslized to an empty string. Use just my $fo; do declare an uninitialized (undefined) value.
In response to "we have 8 beans", ($fo + 0 || 8) is parsed as ($fo + (0 || 8)) due to precedence. Update: silly me, ignore this.