$val = do{ func( local $_=$val) || $_ };