in reply to Remove a line of text

While having not read the script completely, I would recommend the following steps for you to figure out what's going on:
  1. put 'use strict;' and 'use warnings;' at the top of your script. This will require you to declare all your variables using my or our. (Use my unless you know you need to use our. If you don't understand, just use my.)
  2. The following works just fine:
    while (my $theLine = <INPUT>) {
    And, it will even make sure that you kick out of the while loop when the file is empty.
  3. Use consistent block formatting. That will help you catch logic errors. For example, your second while-loop could look like:
    while (my $TheLine = <INPUT>) { if ($TheLine =~ /<RD>[^\n]*Status Compendium<<.JL>/i) { my $ListPos = 0; until($ListPos > $#WordList) { if ($TheLine eq $WordList[$ListPos]) { $TheLine = ""; pop(@WordList) } $ListPos +=1 } } print OUTPUT "$TheLine"; }
Just a note - if you want to print something or NULL, depending on a condition, make that obvious.

Also - read up on pop. I don't think it does what you think it does.

------
We are the carpenters and bricklayers of the Information Age.

Don't go borrowing trouble. For programmers, this means Worry only about what you need to implement.