in reply to Re^2: Open in for loop/array structure
in thread Open in for loop/array structure
yet the code worked on the first run through (the error version with filehandles included) and not on subsequent iterations, but I'm happy it works.
You weren't using file handles. As already explained, you were using glob. And glob in scalar context acts as an iterator. The first time it's called, it returns the first match. The second time it's called, it returns the second match. And so on. When it's done, it returns undef. I've demonstrated that earlier in this thread.
The first time you called <$FH[$k]> (when $k==0), it returns the first result for $k==0.
The second time you called <$FH[$k]> (when $k==1), it returns the second result for $k==0 (undef).
but from then ($k>0) on I get an error that says "print() closed on filehandle OUT at isotopes-p7.perl line 14"
You told print to output to OUT (select (OUT);), but you closed OUT. Personally, I would remove the call to select and change
print "$BU[$i-1] $MA1[$i-1] $MA2[$i-1]\n";
to
print OUT "$BU[$i-1] $MA1[$i-1] $MA2[$i-1]\n";
I don't like using select. As you've encountered first hand, it introduces problems too easily.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^4: Open in for loop/array structure
by igotlongestname (Acolyte) on Jun 03, 2008 at 17:56 UTC | |
by ikegami (Patriarch) on Jun 03, 2008 at 20:01 UTC |