Forum Webscript.Ru
Программирование => Perl => Тема начата: Yuraz от 09 Декабря 2002, 18:33:21
-
Знатоки, помогите советом, есть переменная, необходимо её "порезать" на 80 символов в строке, или, если можно, усложню задачу, по границе слова, не вмещающего за 80-ти символьный рубеж.
-
push @str,$1 while $text=~s/\\s+(.{1,80})\\s+//;
-
ух, ты, спасибо YA , сейчас испытаю.
-
$text=~s/(\\S{80})/$1 /g; - вставит пробел. Я так понимаю, что тебе надо избежать горизонтальной прокрутки в гостевой(форуме итд), а браузер переносит по пробелам.
-
[OFF]Ardzhan, вопрос предполагал более корректное решение задачи (см. выше).[/OFF]
-
Поправлю сам себя. Во-первых, немного перемудрил: естественно, никой push здесь не нужен. А во-вторых стоит добавить "\\S" чтобы исключить возможный захват пробелов в конце - немного корректнее будет.
@str=$text=~/\\s+(.{1,79}\\S)\\s+/g;
Кстати, "слова" длиннее 80 символов просто будут выкидываться. Если это плохо, скажи - поправим ;)