Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re^2: grep flip flop (range operator)

by frozenwithjoy (Curate)
on Sep 13, 2012 at 07:12 UTC ( #993387=note: print w/ replies, xml ) Need Help??


in reply to Re: grep flip flop (range operator)
in thread grep flip flop (range operator)

BONUS STUMPER: For all of the ones that don't print, they do print if you replace 1 with 0; however, all elements are printed instead of stopping at Q (shown below). For the one that did print, the change to 0 causes it to not print. Anyone able to explain this?

a b c Q r s


Comment on Re^2: grep flip flop (range operator)
Select or Download Code
Re^3: grep flip flop (range operator)
by davido (Archbishop) on Sep 13, 2012 at 07:23 UTC
    perl -E 'say "Yes!" if $. == 0;'

    $. uninitialized if there's no file open for reading (undef). undef is false. In a numeric comparison, undef is promoted to zero (or conceptually better, zero is demoted to false, and undef is promoted to false). Consequently, 0 .. is true, and the flip flop flips.

    If warnings were enabled you'd get one. :)


    Dave

      Ah, yes.... and the reason it doesn't stop at Q is because it gets flipped right back on after Q. Apparently, my brain only works once per night. Thanks!
Re^3: grep flip flop (range operator)
by grizzley (Chaplain) on Sep 13, 2012 at 08:51 UTC
    Whole list is printed, as after spotting 'Q' flip-flop goes to 'false' state and back to condition $. == 0 which is all the time true, so it sets flip-flop again to true.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (4)
As of 2014-09-22 23:18 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (208 votes), past polls