in reply to Re: Re: For loop problem
in thread For loop problem

Something like this would probably make more sense (if I understand your situation correctly):
open( OUTPUT_XML_A_OPEN, $output_XML_A_open ); open( NEW_OUTPUT_XML_A, "+>>", $new_output_xml_a ); for $d ( 1..9 ) { seek( OUTPUT_XML_A_OPEN, 0, 0 ); while (<OUTPUT_XML_A_OPEN>) { chomp; # I'm leaving out a lot of your debugging stuff if( /^$d\D/ ) { # does this line start with "$d"? print NEW_OUTPUT_XML_A; } } }

As I understand it, you are trying to find lines in the input file that begin with single-digit numbers, and print these to an output file in sorted order (all the "1" lines first, then all the "2" lines, etc), without worrying about any sub-sort ordering (all the "1" lines can be in any order).

In that regard, I wonder why you open the output file for "append" access (">>") -- and why you open it for both read and write access (using "+"), when you don't really need to read it here?