Иллюстрированный самоучитель по Perl



         

Функции для работы со строками


В данном разделе мы рассмотрим некоторые встроенные функции языка Perl, предназначенные для работы со строками текста. Часть из них использует рассмотренное выше понятие регулярного выражения.

ФуНКЦИЯ chop () chop [list]

удаляет последний символ из всех элементов списка list, возвращает последний удаленный символ. Список может состоять из одной строки. Если аргумент отсутствует, операция удаления последнего символа применяется к встроенной переменной $_. Обычно применяется для удаления завершающего символа перевода строки, остающегося при считывании строки из входного файла.

ФуНКЦИЯ length() length EXPR

возвращает длину скалярной величины EXPR в байтах.

#!/usr/bin/perl \^_____,.

$input = <STDIN>;

$Len = length($input);

print "Строка до удаления последнего символа: $input\n";

print "Длина строки до удаления последнего символа: $Len\n";

$Chopped = chop($input};

$Len = length($input);

print "Строка после удаления последнего символа: $input\n";

print "Длина строки после удаления последнего символа: $Len\n";

print "Удаленный символ: <$Chopped>\n";

Если после запуска данного скрипта ввести строку "qwerty", то вывод будет иметь вид:

qwerty

Строка до удаления последнего символа: qwerty

Длина строки до удаления последнего символа: 7 Строка после удаления последнего символа: qwerty Длина строки после удаления последнего символа: 6 Удаленный символ: < >

Последним символом, удаленным функцией chop (), является символ новой строки, сохраненный в переменной $chopped. При выводе он вызывает переход на следующую строку, поэтому в данном выводе третья строка — пустая. В последней операции print вывод осуществляется в две строки, так как переменная $chopped содержит символ новой строки.

Функции lc(), uc(), Icfirst(), ucfirstO

предназначены для преобразования строчных букв в прописные и наоборот.

ФуНКЦИЯ 1с EXPR

возвращает выражение, полученное из выражения EXPR преобразованием всех символов в строчные.




Содержание  Назад  Вперед