Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"

Re4: When does while() test for defined vs truth

by blakem (Monsignor)
on Dec 17, 2001 at 08:46 UTC ( #132471=note: print w/replies, xml ) Need Help??

in reply to Re: Re: Re: When does while() test for defined vs truth
in thread When does while() test for defined vs truth

I noticed that the behavior was consistant for filehandle reads, which is why I found the behavior of globbing perplexing...

The following lines are equivalent to each other:

while (<STDIN>) { print; } # tests for definedness print while <STDIN>; # tests for definedness
But these two are not equivalent to each other:
while ($_ = <*>) { print } # tests for definedness print while ($_ = <*>); # tests for truthfulness
Update -- Here is an example in action:
% mkdir newdir % cd newdir % touch 0 1 2 % ls 0 1 2 % perl -le 'while ($_ = <*>) { print }' 0 1 2 % perl -le 'print while ($_ = <*>)' [note nothing is printed here]


Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://132471]
[LanX]: misunderstanding, I joined them before converting to base64
[Corion]: Also, I would be wary of encodings and try to make really sure that both input strings are UTF-8. Maybe join the input strings from one source together to see whether they decode as bad or not
[Corion]: LanX: Then the problem should persist without encoding to base64 too ;)
[LanX]: I think it's a flag problem ... I'll produce a reprodocable example for SOPW
[Corion]: "flag problem" to me sounds like "contains UTF-8 bytes but was never properly decoded to an UTF-8 string"
[LanX]: not my code ...
[choroba]: yeah, sounds like one of the strings is not flagged as UTF-8
[choroba]: which usually means its input wasn't handled correctly
[Corion]: choroba: Yeah, I think that would be the good solution
[LanX]: I suspect the first string which comes from the DB ...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (11)
As of 2017-01-16 13:55 GMT
Find Nodes?
    Voting Booth?
    Do you watch meteor showers?

    Results (150 votes). Check out past polls.