in reply to format a list
in thread trying to format a list

At no point in your code do you assign any value to $line so it is no great surprise that you see all those warnings to say that $line and the other variables which are extracted from it are uninitialized.

This line is likely to be the cause of (some of) your troubles:

while(my $line == 'FILE')

Here you are numerically comparing a variable with no value ($line) with a string ('FILE'). There is every chance that what you would actually want to do here is assign a value to $line on the basis of a line read from your input file handle. eg:

while (my $line = <FILE>)

Note the difference between the numeric comparison operator == and the assignment operator =. See perlop for the details. HTH.