Приглашаем посетить
Лесков (leskov.lit-info.ru)

Lvalues

Lvalues

В языке Perl , так же как и в С, lvalue представляет собой имя того, что стоит с левой стороны оператора присваивания. Таким образом, lvalue представляет со­бой целостность, которой может быть присвоено значение, например, lvalue мо­жет быть переменной. Например, скрипт Perl не может присвоить значение стро­ке символов, наподобие выражения « Bob » = 32, поскольку « Bob » не является lvalue . Тем не менее, скрипт может присвоить значение переменной $ Bob , например, сле­дующим образом $Bob = 32, поскольку переменная $Bob является lvalue .

В языке Perl любая целостность, которая может использоваться как lvalue , обыч­но таковой и является. Например, следующее выражение упаковывает ( pack ) и распаковывает ( unpack ) список значений, причем список переменных в первом случае и три скалярных во втором являются lvalues :

            @ color = ($ r , $ g , $ b );               # пакет цветов

            ($ r , $ g , $ b ) = @ color ;               # распаковка цвета

Когда вы работаете со списками в языке Perl , оператор присваивания не обяза тельно относится ко всему списку. Скрипт может присваивать значения отдель­ным элементам списка, как показано ниже:

            @ items [2,4,7] = (100,200,300);

В этом случае оператор присваивает значение трем элементам списка. Аналогич­ным образом следующее выражение распаковывает элементы списка, присваивая значения двух первых элементов двум скалярным переменным, а остаток массива — списочной переменной:

($ arg 1,$ arg 2,@ rest ) = @ ARGV ;             # можно смешать скаляры и массивы

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