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

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

От Ruslan Suleimanov (2:467/888) к Stas Mishchenkov

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


Привет, Stas!



Ответ на сообщение Stas Mishchenkov (2:460/5858) к Ruslan Suleimanov, написанное 29 авг 22 в 11:23:


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

SM> RTFM!

+ согласен мой косяк)

SM> It is possible to control which characters terminate words by
SM> modifying $Text::Wrap::break. Set this to a string such as '[\s:]' (to
SM> break before spaces or colons) or a pre-compiled regexp such as
SM> qr/[\s']/ (to break before spaces or apostrophes). The default is
SM> simply '\s'; that is, words are terminated by spaces. (This means,
SM> among other things, that trailing punctuation such as full stops or
SM> commas stay with the word they are "attached" to.) Setting
SM> $Text::Wrap::break to a regular expression that doesn't eat any
SM> characters (perhaps just a forward look-ahead assertion) will cause
SM> warnings.
SM> https://perldoc.perl.org/Text::Wrap

да отлично работает. Text::Wrap как раз под эти задачи. Спс.





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+630cbf27