Thanks for very helpful replies. The bottom line is that an obvious shortcut (my $var = 'fff' if $predicate;) for proper:
my $var;
$var = 'fff' if $predicate;
Can be a tricky bug to track in say mod_perl environment, since it's behavior is not completely defined while no compiler warnings are produced...