» язык
perl
» Главная
страница
» Вернуться
к содержанию ( Perl )
Переменные
Если
вы дома используете большую
часть времени не в Windows,
а в Unix, то с изучением Perl
у вас вообще не должно быть
особых сложностей.
Все
в нем сделано для удобства программиста
(в отличии например от Java).
Начнем
с переменных, они в Perl бывают
3-х типов: скалярные, списковые
(массивы) и хэши (ассоциативные
массивы).
Для
указания компилятору (да и для
немалого удобства программиста)
перед именем скалярной переменной
стоит знак “$” перед массивом
— “@”, перед хешем — “%”.
Например:
$scalar_var,@array_var,%hash_var
Скалярные
переменные могут быть как числовые,
так и строковые, но это не надо
указывать. Perl сам по контексту
в зависимости от операций может
привести одно к другому.
Например:
”123”+”4”
будет 127 (или ”127”),
так
как операция “+” действует над
числами, а вот если применить
операцию конкатенации строк
“.”, то строковое
”test”
. 1 будет ”test1”
Строки
могут быть в двойных и одинарных
кавычках. Разница между ними
состоит в том, что в одинарных
не осуществляется подстановка
переменных, а в двойных осуществляется.
Например:
$x=’qwerty’;
print
‘my var is $x’; #выведет my
var is $x
print
”my var is $x”; #выведет my
var is qwerty
Обычно
элементы массивов индексируются
целыми числами, первый элемент
— нулевой. Отрицательное значение
индекса обозначает номер позиции
элемента с конца. Хеши индексируются
строками символов.
Имена
скалярных переменных всегда
начинаются с символа “$” даже
когда обозначают элемент массива.
Например:
$var1
# Простой скаляр 'var1'
$var1[0]
# Первый элемент массива 'var1'
$var1{
'first'} # Элемент с индексом
'first'
В
случае использования имени массива
“целиком” или его “среза” перед
именем массива ставится символ
“@”.
Например:
@var1
# Все элементы массива var1
( $var1[0], $var1[1], ... $var1[n])
@var1[1,3,10]
# Элементы $var1[1], $var1[3],
$var1[10]
@var1{
'first','last'} # то же что
и ( $var1{ 'first'} , $var1{
'last'} )
Хеш
“целиком” начинается с символа
“%”.
Пример:
%var,
%key, %years
Имена
подпрограмм начинаются символом
“&”, если из контекста не
видно, что это подпрограмма.
Например:
&sub1,
&test_prog, test(12)
Имена
таблиц символов всегда начинаются
символом “*”.
Каждый
тип переменных имеет свою область
памяти поэтому $var1 и $var1[0]
совершенно разные переменные,
хотя $var1[0] часть массива
@var1. Так же @var1 и %var1
— разные массивы переменных.
Имена
переменных могут содержать любые
буквенно-цифровые символы за
исключением пробела и табуляции.
Эти символы используются в качестве
разделителей. Большие и малые
буквы различаются поэтому $var1
и $Var1 — разные переменные.
В Perl по умолчанию имена меток
и указателей файлов пишут большими
буквами.
Следующий
урок
|