Ух ты, второй раз я разобрался с ответом через несколько минут после публикации вопроса.
set backspace=indent,eol,start
Должны быть установлены автоматически пакетом дистрибутива vimrc. Надеюсь, что этот ответ поможет кому-то еще! Для получения дополнительной информации:
:help i_backspacing
Вот как я бы это сделал (не проверено, но я почти уверен, что это хорошо):
use IO::File;
# ...
my @handles = map { IO::File->new($_, 'w') } @names;
$handles[2]->print("wassup");
# ...
Это OO, у него есть очиститель интерфейс, и вам не нужно беспокоиться о их закрытии, поскольку он умрет, когда массив выйдет за пределы области видимости.
Аргумент дескриптора файла print
должен быть голым словом, простым скаляром или блоком.
Итак:
print { $handles[0] } ...
Это объясняется в perldoc -f print . То же ограничение применяется к синтаксису косвенного объекта в целом, а также для определения того, когда <> является операцией чтения строки, а не операцией glob.