Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re: conditional statement works one way, but not the other

by kcott (Archbishop)
on May 15, 2014 at 09:09 UTC ( [id://1086121]=note: print w/replies, xml ) Need Help??


in reply to conditional statement works one way, but not the other (Updated)

G'day igoryonya,

"but this gives a syntax error"

When you get errors, please post them.

"I checked and rechecked, didn't find any parentacy or semicolon missing or extra."

I'm fairly certain that whatever error you got said nothing about parentheses or semicolons. The error was probably more like these:

$ perl -Mstrict -Mwarnings -le '1 == 0 ? 1 : (for (1) { 1 })' syntax error at -e line 1, near "(for " Execution of -e aborted due to compilation errors.
$ perl -Mstrict -Mwarnings -le '1 == 0 ? 1 : (while (1) { 1 })' syntax error at -e line 1, near "(while" Execution of -e aborted due to compilation errors.

I suspect you may be confusing conditional statements (e.g. using if) with the Conditional Operator which takes operands, not Compound Statements.

Writing code the way you have is highly error-prone. It's very difficult to read and a maintenance nightmare. Please read the "Perl Style Guide" — you may also find perltidy useful.

-- Ken

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others contemplating the Monastery: (2)
As of 2024-06-15 10:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?
    erzuuli‥ 🛈The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.