I really don't like this either. Makes me wonder if it causes the same issue as

    my $foo = $bar unless $baz;

and $foo being a "global" if the condition fails.