Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
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 ( #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?
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
Node Status?
node history
Node Type: note [id://588662]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (9)
As of 2014-12-27 18:50 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (177 votes), past polls