$N = 3; # сколько строк отсечь $a = "\n1\n2\n3\n4\n5\n"; $a = substr( $a, 0, rindex( $a, "\n") ) for (1 .. $N); print $a; anonymous (21.03.05 11:24:34 MSK) Ссылка
$b=4; $a="123\n234\n345\n456\n567\n678\n789\n"; $a =~ s/(\n.*?){$b}$//; print "$a"; sdio ★★★★★ (21.03.05 12:21:45 MSK) Показать ответ Ссылка
Ответ на: комментарий от sdio 21.03.05 12:21:45 MSK $cat 1.pl #!/usr/bin/perl $b=1; $a="123\n234\n345\n456\n567\n678\n789\n"; $a =~ s/(\n.*?){$b}$//; print "$a"; $ ./1.pl 123 234 345 456 567 678 $ т.е. $b = 1, а удалены последние 2 строки. anonymous (21.03.05 14:10:52 MSK) Показать ответы Ссылка
Ответ на: комментарий от anonymous 21.03.05 14:10:52 MSK Спасибо, наглость наверное, но если не сложно, то точно так же, с удалением первых n строк как будет? з.ы. Мне до понимания regexp-ов далеко, но буду учиться. anonymous (21.03.05 22:28:45 MSK) Ссылка
Ответ на: комментарий от anonymous 21.03.05 14:10:52 MSK >т.е. $b = 1, а удалены последние 2 строки. Разве, мне кажется всё верно удалилось. anonymous (21.03.05 22:31:27 MSK) Ссылка
Ответ на: комментарий от anonymous 21.03.05 14:10:52 MSK $a =~ s/(.*?\n){$b}$//; -- удалить посл. N строк $a =~ s/^(.*?\n){$b}//; -- удалить первые N строк sdio ★★★★★ (21.03.05 23:59:52 MSK) Ссылка
Ответ на: комментарий от anonymous 21.03.05 14:10:52 MSK Форматирование $a =~ s/(.*?\n){$b}$//; -- удалить посл. N строк $a =~ s/^(.*?\n){$b}//; -- удалить первые N строк sdio ★★★★★ (22.03.05 00:00:38 MSK) Ссылка