Используя perl
, есть ли какая-либо одна команда, которая дает мне количество строк внутри строки?perl количество строк в строке
my $linenum= .... $str ....
Он должен работать, когда строка пуста, одна строка и несколько строк.
Используя perl
, есть ли какая-либо одна команда, которая дает мне количество строк внутри строки?perl количество строк в строке
my $linenum= .... $str ....
Он должен работать, когда строка пуста, одна строка и несколько строк.
Вы можете рассчитывать количество новых строки символов \n
в строке (или \r
для Mac новой строки)
my $linenum = $str =~ tr/\n//;
Вы должны добавить '$ number_of_lines ++;', чтобы добавить 1 к результату, потому что подсчет только нового символа строки '\ n' пропускает последнюю строку. – Omar
Это зависит от того, заканчивается ли последняя строка '\ n'. '$ linenum ++, если $ str! ~/\ n \ z /' –
Два Perl функции, которые вы хотите посмотреть в являются ' split() ', который разбивает строку на список и' scalar() ', которые при задании списка возвращают длину списка. –
@DovGrobgeld вы имеете в виду 'scalar (split ($ str))'? он не работал – dibonao
Проверьте документацию для 'split()', например. по 'perldoc -f split'. 'split()' принимает два параметра. Первый - это шаблон (который может быть строкой), используемый для разделения, и строка для разделения. Например. Разбиваться ('\ п', $ строка). –