Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re: Re: "Useless use of private variable in void context"

by Seumas (Curate)
on Jun 20, 2003 at 21:42 UTC ( #267722=note: print w/ replies, xml ) Need Help??


in reply to Re: "Useless use of private variable in void context"
in thread "Useless use of private variable in void context"

Yes, thank you! I'll attempt this. I hate to show my ignorance, but I'm not clear on the "binary technique" chromatic mentioned? Is there more to it than just chopping out lines and running perl -wc on it? And yes, if I comment out a chunk of this sub, it's going to give a *lot* of compile errors. *grin*

Off I go to try this out.


Comment on Re: Re: "Useless use of private variable in void context"
Re: Re: Re: "Useless use of private variable in void context"
by BrowserUk (Pope) on Jun 20, 2003 at 22:00 UTC

    Basically, the binary chop means

    1. Comment out the top half of the code

      Compile -- has the error gone away?

      1. Yes -- It is in the top half of the program.

        So now uncomment the second quarter. Did it come back?

        1. Yes. It is in that second quarter.

          Uncomment the first half and the 3rd eight of the code. Is it still there?

          1. Yes. ....
          2. No. ....
        2. No. It must be in the first quarter

          So uncomment the second eigth....

    2. No. So the error must be in the bottom half of the program.

      So uncomment the first half and comment out the 3rd quarter.

      Compile -- did the error go away?

      1. Yes, It's in the 3rd quarter.

        So uncomment the 6th eigth of the code.

        Compile -- did it come back?

        1. Yes ... Its in the 6th eigth.
        2. No ... Its in the 5th eight.
          1. No ... its in the 4th quarter....

        Damn! That was tedious to type. And probably equally tedious to read for anyone who already knows it, but... I typed it now so there:)


        Examine what is said, not who speaks.
        "Efficiency is intelligent laziness." -David Dunham
        "When I'm working on a problem, I never think about beauty. I think only how to solve the problem. But when I have finished, if the solution is not beautiful, I know it is wrong." -Richard Buckminster Fuller


      Aaah. So it's (essentially) just the old print "BREAK"; technique. That's what I thought you meant, but I considered perhaps by 'binary' you meant that I could literally do some sort of 'binary search' for the line in question. Hah! I'm such a dope some times. Thanks for clearing that up. :)

        Effectively that is a binary search, as you are excluding half of the unknowns at each pass. Even on very large source files, it zeros in on the errant line(s) pretty quickly. You can do the same thing with deliberate error too.

        Enlil reminded me that the quickest way to "comment out" half of the code is to use a __DATA__ statement. Shove it in the middle to start then move it a quarter forward or back as appropriate.


        Examine what is said, not who speaks.
        "Efficiency is intelligent laziness." -David Dunham
        "When I'm working on a problem, I never think about beauty. I think only how to solve the problem. But when I have finished, if the solution is not beautiful, I know it is wrong." -Richard Buckminster Fuller


Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (8)
As of 2014-07-25 04:43 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (167 votes), past polls