Variable
@outLines isn't emtpied when the contents of it are written to the file. So the contents of every file are added to it, after which the complete array (including the old contents) is written to
adjusted.learn. Instead of having a global
@outLines array, you should declare it within the
process subroutine:
sub process
{
my @outLines = ();
...
}
Now, every time when
process is called, the
@outLines array is created afresh.
Another option would be to insert a @outLines = () statement after writing to the adjusted.learn file.
Arjen