Добро пожаловать на наш сайт!

Сайт посвящен компьютерам, софту, программированию и вообще информационным технологиям.

Надеямся Вам у нас понравится.

 
 

Меню сайта

 
Введение в Perl

в противном случае они возвращают совершенно «непонятный» результат.
В Перл имеется два главных контекста: скалярный и список (
list).
Проще говоря если в левой части выражения имеется ввиду одно единственное значение – то это скалярный контекст. Если множество значений – список.
Пример:
$var1 = <>; # Прочитать одну строку файла
@var1 = <>; # Прочитать все строки файла в массив @var1
$var1 = (1,2,3); # $var = 3 – количество элементов
@var1 = (1,2,3); # Создание массива @var1 с элементами 1,2,3

Скалярные значения.
Все данные в Перл это скаляры, массивы скаляров и хеши скаляров.
Скалярные переменные могут содержать числа, строки и ссылки.
Преобразование числа – строки происходит автоматически по умолчанию.
Скаляр может иметь только одно единственное значение, хотя это может быть ссылка на массив скаляров. Так – как Перл сам преобразовывает числа в строки и наоборот то программисту нет необходимости думать о том что возвращает функция.
В Перл не существует типов «строка» или «число» или «файл» или что то еще.
Это контекстно зависимый полиморфный язык для работы с текстами.
Скаляр имеет логическое значение "
TRUE" (истина) если это не нулевая строка или число не равное 0.
В Перл существует два типа нулевых (
null) скаляров – определенные (
defined) и не определенные (
undefined). Не определенное значение возвращается когда что-то не существует. Например не известная переменная, конец файла или ошибка. С помощью функции
defined()вы можете заранее обнаружить подобное состояние.
Количество элементов массива так же является скаляром и начинается символами
$#подобно интерпретатору
csh. Фактически
$#var1– это индекс последнего элемента массива. Нужно помнить что первый элемент имеет индкес 0 поэтому количество элементов определяется как
$#var1+1. Присвоение значения
$#var1– изменит длину массива и разрушит «оставленные» значения.
Присвоение значения элементу массива с индексом больше чем
$#var1
– увеличит размер массива, а присвоение ему нулевого списка – обнулит.
В скалярном контексте имя массива возвращает его длину (для списка возвращается последний элемент).
Пример:
@var1 = (4, 3, 2, 1); # Присвоение значения элементам массива
$i = @var1; # Использование скалярного контекста
print $i; # Печать результата 4 – кол-во элементов
print @var1; # Списковый контекст, печать всех элементов.
Для принудительного получения скалярного значения удобно применять функцию
scalar().
Пример:
print scalar(@var1); # Вывод длины массива а не его значений
Хеш в скалярном контексте возвращает «true» если существует хотя бы одна пара «ключ-значение».

Hosted by uCoz