Как я могу записать в дескрипторы файлов Perl, что сохранил в массиве?

Ух ты, второй раз я разобрался с ответом через несколько минут после публикации вопроса.

set backspace=indent,eol,start

Должны быть установлены автоматически пакетом дистрибутива vimrc. Надеюсь, что этот ответ поможет кому-то еще! Для получения дополнительной информации:

:help i_backspacing
5
задан brian d foy 9 June 2009 в 07:06
поделиться

2 ответа

Вот как я бы это сделал (не проверено, но я почти уверен, что это хорошо):

use IO::File;

# ...
my @handles = map { IO::File->new($_, 'w') } @names;

$handles[2]->print("wassup");
# ...

Это OO, у него есть очиститель интерфейс, и вам не нужно беспокоиться о их закрытии, поскольку он умрет, когда массив выйдет за пределы области видимости.

3
ответ дан 18 December 2019 в 09:52
поделиться

Аргумент дескриптора файла print должен быть голым словом, простым скаляром или блоком. Итак:

print { $handles[0] } ...

Это объясняется в perldoc -f print . То же ограничение применяется к синтаксису косвенного объекта в целом, а также для определения того, когда <> является операцией чтения строки, а не операцией glob.

14
ответ дан 18 December 2019 в 09:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: