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 () { 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; } } }