Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Re^2: Cleaner way of looping through a file and stripping only certain lines?

by texasperl (Sexton)
on Dec 08, 2006 at 18:05 UTC ( [id://588662]=note: print w/replies, xml ) Need Help??


in reply to Re: Cleaner way of looping through a file and stripping only certain lines?
in thread Cleaner way of looping through a file and stripping only certain lines?

This is some great insight. I especially gleaned a lot of wisdom from these bits:
  • not using "" around the variable in open
  • operator precedence in the open statement
  • using STDIN and STDOUT instead of named filehandles
Thank you very much for your excellent insight. Hopefully someone else can also learn from this post (that's why I post things like this.)
  • Comment on Re^2: Cleaner way of looping through a file and stripping only certain lines?

Replies are listed 'Best First'.
Re^3: Cleaner way of looping through a file and stripping only certain lines?
by revdiablo (Prior) on Dec 08, 2006 at 18:17 UTC
    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.

      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. =]

        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).

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others scrutinizing the Monastery: (5)
As of 2024-04-18 00:38 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found