LINUX.ORG.RU

Вопрос к Perl гуру, помогите плз.!!


0

0

Подскажите как сделать такое: есть либо массив либо файл, в котором записаны много объектов разделённых допустим пробелом. Как мне поочереди вытаскивать каждые последующие, к примеру, десять объектов (тоесть за раз по десять), чтоб писать в другой файл по десять штук в строку. Предупреждаю я начинающий.

anonymous
Ответ на: комментарий от dilmah

А перл за тем, что всё это делается в программе написаной на перле. Так как на Преле то можно сообразить, при помощи регекспов, голову ломал но так и сообразил как, чувствую что именно с ними и надо работать. Хелп Плиз.

anonymous
()
Ответ на: комментарий от anonymous

Да, чёёть не забыл, всё это (в том числе и Перл) работает под Виндой. Как ни печально, но факт :-( Именно поэтому воспользоваться стандартными инструментами *nix платформ воспользоваться нет возможности.

anonymous
()

че-нить типа такого:

my $maxLen=10; my @buf; while(<>){ chomp; if ($#buf >= $maxLen-1){ print join(', ', @buf), "\n"; @buf=(); } push @buf, $_; } if ($#buf >= 0){ print join(', ', @buf), "\n"; }

anonymous
()
Ответ на: комментарий от anonymous

Спасибо, я нашёл выход, может немного деревынный и не столько элегантный, но он работает.

$i=0;
$maxlent=10
while(@temp){
$block=pop(@temp);
if($i eq $maxlenth-1){print OUTFILE "$block\n"; $i=0;}
else{print OUTFILE "$block\t"; $i=$i+1};
}

Можно ли сделать оптимальнее? Как.

anonymous
()
Ответ на: комментарий от anonymous

print OUTFILE join("\t", splice @temp, 0, 10), "\n" while @temp

idle ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.