- Можноли сократить..??, XMan, 01:21 , 16-Дек-03 (1)
Лаба что ли ? У меня товарищ недавно тоже перл проходил в универе. Говорит, там народ приносил километры бумаги, на которых было решение задания, типа такого:Найти в тексте все строки, в которых третье слово содержит 3 буквы n подряд или больше чем 5 букв m в произвольном порядке, и вывести эти строки. Хотя это всё укладывается в одно одну строку условия. Судя по всему, твоё решение из той же оперы :) --- $line =~ s/\s+/ /g; Можно более правильно, но менее красиво: $line =~ s/\s{2,}/ /g; PS. И не забывай делать chomp($line) перед обработкой, а то ведь перенос - это тоже пробельный символ. Или замени \s на пробел, если уверен, что табуляции нигде в строке нету :)
- Можноли сократить..??, xtc, 01:35 , 16-Дек-03 (2)
>$line =~ s/\s+/ /g; Вроде пробовал так, щас еще проверю >Можно более правильно, но менее красиво: > >$line =~ s/\s{2,}/ /g; > >PS. И не забывай делать chomp($line) перед обработкой, а то ведь перенос >- это тоже пробельный символ. Или замени \s на пробел, если >уверен, что табуляции нигде в строке нету :)
Пишу прогу для обработки логов сквида в реальном времени..... Ж))) А вот такую херь плохо кушаю :)) Щас еще раз проверю $line =~ s/\s+/ /g; Ну помойму делал так.
- Можноли сократить..??, xtc, 01:38 , 16-Дек-03 (3)
>$line =~ s/\s+/ /g; Сработало :)) Я заместо плюса ставил * Ж)) и плюс ставил спереди :)) >Можно более правильно, но менее красиво: > >$line =~ s/\s{2,}/ /g; Спасиб.. просто уже так давно сижу, разбирался с File::Tail :)) И я в общем говоря всегда плохо понимал все Эти замены :)) не всегда они мне надобились. :) Спасиб еще раз.
- Можноли сократить..??, xtc, 01:43 , 16-Дек-03 (4)
> >$line =~ s/\s{2,}/ /g; а можно расшифровать Это?? что к чему 2 и запятая?
- Можноли сократить..??, OldOwl, 10:48 , 16-Дек-03 (5)
>>$line =~ s/\s{2,}/ /g; > >а можно расшифровать Это?? что к чему 2 и запятая? {2,} - "2 и более". Можно юзать по-разному: {N} - ровно N {N,M} - от N до M и т.д.
- Можноли сократить..??, xtc, 16:12 , 16-Дек-03 (6)
>>>$line =~ s/\s{2,}/ /g; >> >>а можно расшифровать Это?? что к чему 2 и запятая? > >{2,} - "2 и более". >Можно юзать по-разному: >{N} - ровно N >{N,M} - от N до M >и т.д. Спасибо.
- Можноли сократить..??, XMan, 23:28 , 16-Дек-03 (7)
Может я чего не понял, но для разбора лога сквида проще пользовать split :@ar=split(/\s+/,$line); А еще лучше делать примерно так: while (<>) { ($time,...........)=split(/\s+/); # обработка полученных значений }; :)
|