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 символов просто будут выкидываться. Если это плохо, скажи - поправим ;)