AP> В сообщении от Thursday 25 September 2008 21:02:14 Dmitry E. Oboukhov AP> написал(а): AP>> вот тут и надо вывести все с номерами строк AP>> то есть ты предлагаешь рассплитить на строки, и вывести номера строк со AP>> строками в цикле, а /e регексп это делает без геморроя просто AP> На строки разделить - легко: это понятно что легко, только на строки ты разбиваешь, потому что у тебя регвыражения /e нет AP> #!/usr/bin/tclsh AP> set lines {one AP> two} AP> set i 0 AP> foreach line [split $lines \n] {puts "[incr i] $line"} AP> Ну да ладно, специально для вас, код _в одну строку_: AP> set i 0; foreach line [split $lines \n] {puts "[incr i] $line"} printf "%05d %s", $counter++, $_ for split /\n/, $lines; то же самое и на перле пишется, при необходимости. просто перл попутно более простые средства предоставляет AP> А вообще пишется функция на тикле AP> proc myprint {lines} { AP> set i 0 AP> foreach line [split $lines \n] { AP> puts "[incr i] $line" AP> } AP> } AP> и теперь обработка выполняется вот так: AP> myprint $lines AP> Раз уж вы эту операцию так любите, последний вариант оптимален. кстати твой код номера строк не выравнивает по ширине, а мой выравнивает :) -- . ''`. Dmitry E. Oboukhov : :’ : unera@debian.org `. `~’ GPGKey: 1024D / F8E26537 2006-11-21 `- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537
Attachment:
signature.asc
Description: Digital signature