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
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.