Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re^5: "last expression" quiz

by sauoq (Abbot)
on Oct 20, 2005 at 16:07 UTC ( [id://501720]=note: print w/replies, xml ) Need Help??


in reply to Re^4: "last expression" quiz
in thread "last expression" quiz

You're not arguing that they shouldn't be, are you?

No, I'm certainly not. I'm perfectly happy that those are errors. I don't know if it follows that sub x {$_ for 10} should be an error but I can see the argument for it. I see usefulness on both sides. Causing an error would be useful in preventing some god awful code while returning the result of the last expression evaluated would be useful in some god awful code. Usually, when there is a choice like that, Perl supports the latter but prints a warning under -w ... :-)

-sauoq
"My two cents aren't worth a dime.";

Replies are listed 'Best First'.
Re^6: "last expression" quiz
by Anonymous Monk on Oct 20, 2005 at 17:15 UTC
    Usually, when there is a choice like that, Perl supports the latter but prints a warning under -w
    I'll second that notion. The interpreter should be fixed to implement this idea and the documentation should be changed to something like...
    If the last thing (Note 1) in a subroutine is an expression, then the return value of the subroutine is the value of that expression. Otherwise if the last thing in a subroutine is a statement (if, for, while, etc.) and the subroutine is called in non-void context, then issue a warning. Alternatively, a return statement may be used to exit the subroutine, optionally specifying the returned value, which will be evaluated in the appropriate context (list, scalar, or void) depending on the context of the subroutine call...
    Note 1: We should another word besides "thing" but I'm not sure what that is.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others goofing around in the Monastery: (8)
As of 2024-04-19 15:08 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found