in reply to while(INFILE) terminating before finishing file.

Instead of using while(<INFILE>)... use while(defined($_ = <INFILE>))...
This will let the result of <INFILE> be false, while keeping it true for defined values.

Hope this helps!

--jwest

Update: changed to code that works ;)
-><- -><- -><- -><- -><-
All things are Perfect
    To every last Flaw
    And bound in accord
         With Eris's Law
 - HBT; The Book of Advice, 1:7

Replies are listed 'Best First'.
Re: Re: while(INFILE) terminating before finishing file.
by sdyates (Scribe) on Aug 23, 2001 at 22:54 UTC
    Well, that worked very well, unfortunately, it created another problem, the $TheRec = $_; is now empty. Therefore, the entire table, while populated with 1374 lines, is empty. What's the best way to go about this? Thanks again for you help--I was going nowhere quick :)
      Well, unless you're sure that $TheRec is left empty, in which case we should start there, I'd look at your other while() loops. For example, the next one: while ($NewItem[$z]) { ... } will fail similarly to your old while (<IN>) loop. To rectify this one, for instance, you might need to switch to something more like while(defined($NewItem[$z])) or somesuch.

      Although there's nothing really wrong with the way you expressed this, by the way, it is more idiomatic to write the loop like this:

      # Itterate over the contents of the @NewItem list # For each item in the list, set $item to the value # (equivalent to $NewItem[$z] in your code) foreach my $item (@NewItem) { # And add this value in like you did before. $SQLString = $SQLString . $item . "\',\'"; }

      And even that's a little more loose that it could be.

      At any rate, go back and refactor your code, looking for more places to stick watch for the defined-but-false condition. And be sure that $TheRec is actually coming back blank.

      Hope this helps!
      --jwest

      -><- -><- -><- -><- -><-
      All things are Perfect
          To every last Flaw
          And bound in accord
               With Eris's Law
       - HBT; The Book of Advice, 1:7