Приглашаем посетить
Есенин (esenin-lit.ru)

Perl, который оценят все.

Строковые данные


Данные, содержащие строку символов, называют строковыми (или стрингами). Простейшие примеры:

$name='Roman';
$town="Moscow";
$country=Russia;

Обратите внимание на последний пример. В нем отсутствуют кавычки, но это не ошибка. Perl позволяет их не писать, но при запуске такого скрипта с ключом -w вы получите предупреждение о том, что 'возможно совпадение с именем функции в будущих версиях'. Это значит, что если в Perl появится функция Russia, то в $country будет занесено значение, которое она (функция) вернет, а не строчка Russia. Отсюда правило: лучше кавычки или апострофы указывать, это позволит избежать лишних предупреждений и возможных ошибок.

Уместно будет напомнить, что все, что находится в кавычках, подлежит преобразованию, т. е. замене имен переменных на их значения, \n (и подобных) на соответствующие спецсимволы.

Списки значений и массивы


Список - это несколько скалярных величин. Массив - переменная, которая содержит этот список. Для обозначения массивов используют символ '@'.

@names = ('Москва', 'Екатеринбург', 'Питер');
# заносит три имени в массив

@digits = (0..9);
# 0,1,2,3,4...9

Как видите, при помощи оператора '..' можно включать сразу несколько величин. Для доступа к элементам массива используется индекс в квадратных скобках. Первый элемент массива имеет номер 0. И самое главное! Если вам нужен один элемент, то имя должно начинаться на '$', обозначая скалярную величину. Впрочем, лучшее объяснение - это примеры:

@names = ('Москва', 'Екатеринбург', 'Питер');
# заносит три имени в массив

@digits = (0..9);
# 0,1,2,3,4...9

@names2 = (@names,'Киев');
# теперь у нас массив из 4 имен

print $names2[1]'
# Perl заметьте, использует знак '$'

@somedigits=@digits[1..3,6,7..9];
# теперь у нас 1,2,3,6,7,8,9
# ведь первый элемент - нулевой индекс

print @somedigits;
# распечатаем...
# 1236789

$,=" ";
# установим разделитель

print @somedigits;
# распечатаем более красиво
# 1 2 3 6 7 8 9

В этом примере использовалась предопределенная переменная '$,'. Значение, занесенное в нее, будет разделителем при печати. Это особенно удобно в нашем случае, т. к. в функцию print передается несколько значений.

Назад | Оглавление | Далее