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

Re^4: How to write a program to read stdin or command line?

by ikegami (Pope)
on Oct 03, 2007 at 05:40 UTC ( #642305=note: print w/ replies, xml ) Need Help??


in reply to Re^3: How to write a program to read stdin or command line?
in thread How to write a program to read stdin or command line?

Assuming I was talking about the general case, how is -p less flexible? And how does -l matter?

perl -nle "print bar($_) unless foo($_)"
perl -ple "next if foo($_); $_=bar($_)"


Comment on Re^4: How to write a program to read stdin or command line?
Select or Download Code
Replies are listed 'Best First'.
Re^5: How to write a program to read stdin or command line?
by BrowserUk (Pope) on Oct 03, 2007 at 11:00 UTC

    With -p, whilst you can conditionally undef $_ to avoid it being printed; if you are also using -l, you will get unwanted blank lines:

    C:\test>type junk.txt 1 2 3 4 5 C:\test>perl -nle"$_ & 1 and print" junk.txt 1 3 5 C:\test>perl -ple"$_ & 1 or undef $_ and next" junk.txt 1 3 5

    And in fact the next in your example serves no purpose:

    C:\test>perl -ple"$_ & 1 or undef $_" junk.txt 1 3 5

    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.
      Yeah, I was confused, sorry.
Re^5: How to write a program to read stdin or command line? (-p next)
by tye (Cardinal) on Oct 03, 2007 at 05:47 UTC

    perl -ple "next" still prints every line, so, yes, -p is less flexible based on your fine examples.

    If you want to omit some lines from the output, you can't do that if you are also using -l

    My first reaction to that is that the final -l was supposed to be a -p. That would certainly make sense to me, but I can't say for sure that it is what was intended.

    - tye        

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (8)
As of 2015-07-08 04:26 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (94 votes), past polls