Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Re^2: return value of chomp is false?

by babel17 (Acolyte)
on Sep 29, 2009 at 16:56 UTC ( [id://798164]=note: print w/replies, xml ) Need Help??


in reply to Re: return value of chomp is false?
in thread return value of chomp is false?

But there is always a new line, so it should always be interpreted as true, which means the first case should work, not the second case. ...but that is not the case. The chomp is returning '1' and it's being interpreted as false.

Replies are listed 'Best First'.
Re^3: return value of chomp is false?
by toolic (Bishop) on Sep 29, 2009 at 17:28 UTC
    Let me try to elaborate on my answer.

    Firstly, here is a quote from the documentation for the Conditional Operator:

    Ternary "?:" is the conditional operator, just as in C. It works much like an if-then-else. If the argument before the ? is true, the argument before the : is returned, otherwise the argument after the : is returned.

    Coming from the STDIN handle, I agree that $_ will have a newline character. This means that chomp $_ will return 1. Since Perl treats 1 as a true value, the ternary operator will return the argument before the :.

    In your first case, chomp $_ ?"":$_, the ternary operator returns an empty string.

    In your second case, chomp $_ ?$_:"", the ternary operator returns $_.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (8)
As of 2024-04-23 10:51 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found