на главнуюВсе эхи RU.PERL
войти ?

разбивка длинной строки

От Ruslan Suleimanov (2:467/888) к Nil A

В ответ на Заголовок предыдущего сообщения в треде (Имя Автора)


Привет, Nil!



Ответ на сообщение Nil A (2:5015/46) к Ruslan Suleimanov, написанное 29 авг 22 в 00:29:

NA> All:
RS>> Тут задачка появилась, и никак не могу понять как..
NA> Гугл же есть.

не нашел (

RS>> Задача: есть длинная строка неизвестной длинны, необходимо ее
RS>> разбить по 75 символов в строки, сколько строк может в итоге
RS>> выйти из одной длинной строки неизвестно, также неизвестно
RS>> сколько символов в длинной строке может быть, но должна быть
RS>> разбивка на много строк не больше 75 в каждой строке.

NA> https://perlmaven.com/break-lines-with-max-width
NA> }
NA> my $str = substr $text, 0, $loc, '';
NA> say $str;
NA> substr $text, 0, 1, '';
NA> }
NA> === END ===

Спасибо попробую этот вариант.


NA> Но, говорят можно заюзать готовый Text::Wrap

NA> === BEGIN ===
NA> use strict;
NA> use warnings;
NA> use 5.010;

NA> my $text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit,
NA> sed do eiusmod tempor incididunt ut labore

NA> use Text::Wrap qw(wrap);
NA> local $Text::Wrap::columns = $max;
NA> say wrap('', '', $text);
NA> === END ===

да Text::Wrap тошо надо но он обрезает текст конкретно по заданому ему количеству символов,
а надо чтобы еще опирался на пробелы или запятые если есть они в пределах +-75 символов.
Как вариант по символьно загнать в массив и дальше высчитывать количество символов и соединять их
потом @array=split(//,$text); Но это будет долго и ресурсоемко для слабой машины..






WBR, Ruslan Suleimanov.
JabberID: rs@captflint.com
--- GoldED+/FreeBSD/..I LIKE UNIX EVERYDAY..
* Origin: ---/RS/FIDO Druzi 199x fido.odessa.ua/ (2:467/888)

Ответы на это письмо:

From: Username
Заголовок следующего сообщения в треде может быть длинным и его придется перенести на новую строку

From: Username
Или коротким

FGHI-url этого письма: area://RU.PERL?msgid=2:467/888+630bec7b