|
к же является скаляром и начинается
символами $# подобно интерпретатору csh. Фактически $#var1 - это
индекс последнего элемента массива. Нужно помнить что первый
элемент имеет индкес 0 поэтому количество элементов определяется
как $#var1+1 . Присвоение значения $#var1 - изменит длину
массива и разрушит "оставленные" значения.
Присвоение значения элементу массива с индексом больше чем $#var1
- увеличит размер массива, а присвоение ему нулевого списка -
обнулит.
В скалярном контексте имя массива возвращает его длину (для списка
возвращается последний елемент).
Пример:
@var1 = (4, 3, 2, 1); # Присвоение значения элементам массива
$i = @var1; # Использование скалярного контекста
print $i; # Печать результата 4 - кол-во элементов
print @var1; # Списковый контекст, печать всех элементов.
Для принудительного получения скалярного значения удобно применять
функцию scalar().
Пример:
print scalar(@var1); # Вывод длины массива а не его значений
Хеш в скалярном контексте возвращает "true" если существует
хотя бы одна пара "ключ-значение". Фактически возвращается строка
типа 2/8 где 8 - количество выделенных "ячеек" памяти а
2 - количество использованных.
Конструкторы скаляров.
Числа пишутся стандартно:
123
123.123
0.12
.12E-10
0xABCD # Шестнадцетиричная запись
0377 # Если 0 в начале - восьмеричная
123_456_123 # Так тоже можно для удобства чтения.
Строки ограничиваются одинарными (') или двойными (") кавычками:
'Ровняйсь, смирно!'
"Построемся и спасемся."
Способов обозначения строк очень много. Плодробно смотрите описание
оператора qq.
В хеше можно опускать кавычки если индекс не содержит пробелов.
Пример:
$var1{first} то же что и $var1{'first'}
Обратите внимание на то что перед первой одинарной кавычкой должен стоять
пробел иначе строка воспримется как имя переменной так-как в именах
разрешено использование одинарных кавычек.
Запрещается в кавычках применять зарезервированные литералы __LINE__
(номер текущей строки программы), __FILE__ (текущий файл).
Для обозначения конца программы можно применять литерал __END__
Весь последующий текст игнорируется, но его можно прочитать использую
указатель файла DATA.
Слова в программе не поддающиеся ни какой интепретации воспринимаются
как строки в кавычках поэтому рекомендуется имена меток и указателей файлов
писать большими буквами для избежания возможного "конфликта" с
зарезервированными
словами.
В Пел есть возможность вставлять текст документа прямо в программу.
Так называемый "here-doc" (здесь текст) метод. Обозначается символами
<< за которым идет слово-ограничитель.
Пример:
print <
|
|