Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister

Re: why does Perl eval have a strange terminator?

by stevieb (Canon)
on Jun 14, 2022 at 15:30 UTC ( #11144730=note: print w/replies, xml ) Need Help??

in reply to why does Perl eval have a strange terminator?

From perlsyn:

Simple Statements The only kind of simple statement is an expression evaluated for its s +ide-effects. Every simple statement must be terminated with a semicol +on, unless it is the final statement in a block, in which case the se +micolon is optional. But put the semicolon in anyway if the block tak +es up more than one line, because you may eventually add another line +. Note that there are operators like eval {}, sub {}, and do {} that +look like compound statements, but aren't--they're just TERMs in an e +xpression--and thus need an explicit termination when used as the las +t item in a statement.

So, eval requires the terminating semicolon because it's a simple statement. You're using it for its side effects.

sub, when used in an expression, requires the semicolon as well (eg. my $coderef = sub {...};).

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (3)
As of 2023-03-28 20:26 GMT
Find Nodes?
    Voting Booth?
    Which type of climate do you prefer to live in?

    Results (69 votes). Check out past polls.