Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re: Context propagation into subs and evals

by repellent (Priest)
on Feb 20, 2012 at 21:28 UTC ( #955155=note: print w/ replies, xml ) Need Help??


in reply to Context propagation into subs and evals

In implicit_returns and no_implicit_returns, did you mean to have an explicit return as in return tst_context() when $_[0] is true?


Comment on Re: Context propagation into subs and evals
Select or Download Code
Re^2: Context propagation into subs and evals
by LanX (Canon) on Feb 20, 2012 at 22:10 UTC
    implicit_returns() has two implicit returns, because the calls to tst_context() could be last statement of the sub.

    Since no_implicit_return() has an explicit return at the end which must be passed, disabling the implicit returns.

    look here

    sub tst { 5 } sub tst { return 5 }
    Both functions are equivalent, but in the latter the return is explicit.

    Cheers Rolf

      Right, I forgot about the return; so I've striked off my question about no_implicit_return.

      As for implicit_return, I guess I got confused as to the purpose of the if statement. Both the true and false code paths lead to an implicit return of the call to tst_context. Me thinks why bother having the if at all? :-)
        The if shows that multiple statements can be returned implicitly and it's not necessarily the undermost statement.

        If you know of a better example illustrating this - at the same time non-trivial and not complex - I'm open for suggestions. :)

        There is a whole bunch of "Flow-Control-Statements" which could play a role here.

        Cheers Rolf

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://955155]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (8)
As of 2015-07-07 02:33 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (86 votes), past polls