operator precedence in the open statement
Not trying to kick you while you're down (honestly! =]), and it could just be a case of me misreading your sentence, but the operator precedence ikegami explained is not limited to the open statement -- it's part of the perl parser in general.
Update: Ah, misread the original sentence indeed. Sorry 'bout that. No harm intended.
| [reply] |
Ha! It was a case of misreading the sentence. All the same, thanks for the reminder. Now...the task of fixing my short-circuiting/error messages in other scripts awaits me. =]
| [reply] |
Similarly, not using "" around the variables is not specific to open. "$var" creates a new variable which is the string representation of the specified variable. It's almost never needed, and it's often undesireable.
In this case, your variable is already a string, and if it wasn't. If it wasn't, it would get converted to a string automatically.
I can think of two uses for "$var":
-
When using a global variable as an argument. (For example, log_error("$@") is safer than log_error($@).)
-
When you want to explicitely specifiy the context for an overloaded object. (For example, 4 + $obj and 4 + "$obj" could have different results.) You'd only use this when you know you have an overloaded object and you know you want the string representation in a numerical, boolean or list context (i.e. never).
| [reply] [d/l] [select] |