Perl открыть на запись несколько файлов одновременно

  • Автор темы Автор темы etsilop
  • Дата начала Дата начала
E

etsilop

Есть необходимость создать несколько файлов и писать в них одновременно данные.
подскажите как это правильно сделать - скрипт представленный ниже выдает ошибку.

#!/usr/bin/perl -w
use strict;
use Data::Dumper;
my @layers = ('a', 'b', 'c');
foreach(@layers){
print $_ ."\n";
open($_, ">_out_$_.txt");
print $_ 'test string';
}
__END__

./test_open.pl
a
Can't use string ("a") as a symbol ref while "strict refs" in use at ./test_open.pl line 7.
>
 
Код:
#!/usr/bin/perl
@layers = qw(AAS3 BBS2 DDS1);
for (@layers){
print $_;
open($_, ">/home/axe/Desktop/$_") ||die "$!";
print $_ "test string";
close ($_);
}
набрал роботает
посмотри 'qw'
 
доброго дня,
если файлы передаются из командной строки то получиться примерно следующее
(ваше условие относительно того что файлы нужно создать не учитывал но легко делается)

рабочий пример
--------------------------
#!/usr/bin/perl
#use strict;
$i=0;
@names = @ARGV;

while(<>)
{
if (eof)
{
($a,$;) = split(/\./,$names[$i]);
open($a,">$names[$i]") or die "Can't open $!";
print $a "Test string \n";
$i++;
close($a);
}
}
--------------------------

формат prg_name.pl file1 file2 file3 ... fileN

Есть необходимость создать несколько файлов и писать в них одновременно данные.
подскажите как это правильно сделать - скрипт представленный ниже выдает ошибку.

#!/usr/bin/perl -w
use strict;
use Data::Dumper;
my @layers = ('a', 'b', 'c');
foreach(@layers){
print $_ ."\n";
open($_, ">_out_$_.txt");
print $_ 'test string';
}
__END__

./test_open.pl
a
Can't use string ("a") as a symbol ref while "strict refs" in use at ./test_open.pl line 7.
>
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab