Forum Webscript.Ru

Программирование => Perl => Тема начата: UltraMax от 10 Июля 2006, 21:22:16

Название: Посчитать количество строк в переменной
Отправлено: UltraMax от 10 Июля 2006, 21:22:16
Есть переменная, в ней идет текст. В нем несколько строчек. Мне надо посчитать количество строчек в ней, причем не всех, а до определенной строчки, которая 100% есть.
Грубо говоря идет текст

bla bla bla
bla
bla bla bla
RUSSIA

bla bla
bla

Так вот мне надо найти количество строчек до слова RUSSIA

Как это сделать можно?
Название: Посчитать количество строк в переменной
Отправлено: arto от 10 Июля 2006, 21:46:35
(split "RUSSIA",$string)[0] =~ y|\\n|\\n|
Название: Посчитать количество строк в переменной
Отправлено: UltraMax от 10 Июля 2006, 21:50:12
arto
у меня уже башка не верит, я тебя не понял ни разу
В какой переменной содержится значение количества строчек? Можно чуть подробнее?
Название: Посчитать количество строк в переменной
Отправлено: arto от 10 Июля 2006, 22:04:23
# perl -le \'print ((split "RUSSIA",$ARGV[0])[0] =~ y|\\n|\\n|)\' "bla bla bla
bla
bla bla bla
RUSSIA

bla bla
bla
"
3
#
Название: Посчитать количество строк в переменной
Отправлено: UltraMax от 10 Июля 2006, 22:07:53
arto
Ты издеваешься? Можно человеческим языком сказать?

У меня есть переменная $big в которой есть данный текст.
Что мне нужно написать, чтобы в переменную $counter попало значение этой количества строчек?
Название: Посчитать количество строк в переменной
Отправлено: arto от 10 Июля 2006, 22:27:03
$counter = ((split "RUSSIA",$big)[0] =~ y|\\n|\\n|);
Название: Посчитать количество строк в переменной
Отправлено: UltraMax от 11 Июля 2006, 11:15:23
arto
спасибо заработало

Мне не совсем понятно по какому поводу здесь идет разбитие
То что разбивается массив по слову RUSSIA это понятно, но как сюда привязать первый элемент массива и самое главное как понять то, что стоит после =~ ???
Можно объяснить? Заранее спасибо все равно!
Название: Посчитать количество строк в переменной
Отправлено: arto от 11 Июля 2006, 11:48:38
первый элемент --
что стоит после -- perldoc perlop