in reply to Re: return if defined
in thread return if defined

Thanks for the welcome! I tried to answer another question while I was here.

I think the ? : operator solution would be equally verbose and wouldn't the code be creating $new_result (a DBIC row object) even if we didn't need to return it?

Replies are listed 'Best First'.
Re^3: return if defined
by Athanasius (Archbishop) on Dec 20, 2012 at 12:48 UTC
    wouldn't the code be creating $new_result ... even if we didn't need to return it?

    The conditional operator works like if-then-else, so when the condition is true the clause following the : is not evaluated. Likewise for logical defined or: if the first expression is defined, the second expression (the one following //) is not evaluated.

    But in either case $new_result would need to be computed within the relevant clause; otherwise, as Anonymous Monk says, the short-circuiting is removed. If the code (not shown) used to populate $new_result is too long to make this practical, then prefer the solutions proposed by Anonymous Monk or tobyink.

    Athanasius <°(((><contra mundum Iustus alius egestas vitae, eros Piratica,