Do you know where your variables are? | |
PerlMonks |
comment on |
( [id://3333]=superdoc: print w/replies, xml ) | Need Help?? |
It's all to do with the order in which operators get evaluated (precedance). In your open statement, || is evaluated before the comma, so your statement is parsed as open FILE, (">test.txt" || $failed_flag = 1); giving the syntax error. Perl has some super-low precedance operators (and, or and not). and and or can be used as statement modifiers. So, you can write:
Or, if you add parentheses to your original statement, you can write:
That said, if you're using a modern perl, you are better off using the three-argument open and a lexical filehandle:
See here to read more about precedance update: missed a quote. Thanks toolic. not can't be used as a modifier. In reply to Re: Variable assignment after logical OR
by FunkyMonk
|
|