Часто требуется выяснить, содержит ли строка ту или иную подстроку. Функция
$pos = index($string, $sub_string, $offset); # с начала
$last_pos = rindex($string, $sub_string, $offset); # с конца
print "есть правда!" if(index($life, 'правда') != -1);
В следующей главе будет рассказано о регулярных выражениях, с помощью которых можно гибко управлять поиском подстроки, задавая шаблоны приблизительного соответствия и расположение подстрок относительно друг друга.
Определение длины текста - также весьма распространенная операция. Функция
$string_length = length($string); # строка в переменной
$n *= 2 until(length($n)>10); # длина числа
print 'Текст слишком длинный' if length($s1 . $s2) > $limit;
Функция
$sub = substr($string, # копировать в $sub из $string,
$offset, # отступив $offset символов,
$length); # подстроку длиной $length
$e = substr($s, rindex($s,'.')); # от последней '.' до конца
$last_char = substr($string, -1, 1); # последний символ
Необычность функции
$string = 'Perl 5 нравится программистам.';
$new_string = '6 тоже по';
substr($string, 5, 2) = $new_string;
# в $string будет: 'Perl 6 тоже понравится программистам.'
Подобным же образом можно удалить последние 5 символов строки, заменив их пустой строкой:
substr($string, -5) = ''; # удалить последние 5 символов
Сочетая уже известные функции, можно выполнять разные манипуляции с текстовой информацией. Например, чтобы переставить слова в строке, можно воспользоваться функциями
$reverse_words = join(' ', reverse(split(' ', $text)));
В Perl есть набор функций для преобразования букв из заглавных в строчные и наоборот. Для правильного преобразования русских букв нужно включить поддержку национальных установок операционной системы с помощью прагмы
use locale; # учитывать национальные установки
$lower_case = lc($text); # преобразовать к маленьким буквам
Функция
$first_char_lower = lcfirst($text); # 'Perl' станет 'perl'
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии