Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > Динамическое создание файлов


Автор: Kirolechka 11.2.2012, 17:07
В программе необходимо создать файлы. Изначально, я не знаю, сколько мне их потребуется. Ну т.е. файлы необходимо создавать динамически. Что делать в данном случае с дескрипторами? Ведь грубо выражаясь, они должны выглядеть следующим образом: DESCRIP_1, DESCRIP_2,...,DESCRIP_N. А как это сделать - не имею понятия.
Помогите пожалуйста, я в Perl новичок. Облазила учебники и инет - ответа не нашла.
Заранее спасибо.

Автор: tzirechnoy 11.2.2012, 20:35
В массив положыть, разумеется.

Код

#!/usr/bin/perl

my @fh;


foreach my $i (0..10) {
 open $fh[$i], ">./testfile_$i";
};
foreach my $i (0..10) {
 print {$fh[$i]}  "hello, world $i.\n";
 close $fh[$i];
};


PS И вообще, perldoc perlopentut.

Автор: krypt3r 13.2.2012, 11:52
Если работу с отдельно взятым файлом можно организовать одним циклом (создать, что-то записать, закрыть), то и массив не нужен.

PS. use strict, Luke =)

Автор: tzirechnoy 13.2.2012, 13:10
Цитата
PS. use strict, Luke =)


В смысле? И со strict, и с -w всё молча прошло (perl 5.10.1), что там не так?

Автор: dixoNICH 13.2.2012, 13:54
Цитата(tzirechnoy @ 11.2.2012,  20:35)
В массив положыть, разумеется.

Код

#!/usr/bin/perl

my @fh;


foreach my $i (0..10) {
 open $fh[$i], ">./testfile_$i";
};
foreach my $i (0..10) {
 print {$fh[$i]}  "hello, world $i.\n";
 close $fh[$i];
};


PS И вообще, perldoc perlopentut.

лучше, всё же, так
open $fh[$i], ">", "testfile_$i";

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)