norden
Пучему же, при приравнивании скаляра к массиву, массив возвращает количество записей массива, единственно зачем использовать "<=" если счет начинается с нуля, цикл будет проходить на один раз больше. Значения массива @file[max] не существует в данном цикле, конечное значение будет @file[max - 1]
А пробелы вставляются действительно как сказал Alone при записи файла, я немного перепутал с выборкой массива из textarea