четверг, 26 ноября 2009 г.

Perl :: Структуры данных :: Переменная :: Объявление переменной

В арсенале Perl имеется достаточно широкий набор приёмов, которые могут использоваться разработчиком при создании переменных там, где это необходимо в данный момент; однако за это, как, впрочем, и за всё остальное в этой жизни, программисту приходится платить, а здесь начинается та часть, где надо быть особенно внимательным. Данный язык программирования, в самом деле, может облегчить существование разработчика за счёт правильного использования специальных помощников ‘my’, ‘local’, ‘our’. Каждый из них по-своему может быть полезен, и сберечь массу времени при отладке готовых программ, не говоря о том, что можно (и должно) использовать их "врождённые" свойства, которые не надо "программировать" самому, поскольку создатели языка об этом уже позаботились, а разработчику надо всего лишь уметь правильно ими пользоваться.

Главным в работе с переменными, равно как и со всеми другими имеющимися типами данных языка, является так называемая "область видимости" переменной. Существует несколько простых правил на сей счёт:
  • когда программа может использовать несколько одноимённых (но не равных по значению в каждый конкретный момент времени) переменных, в языке существует встроенный механизм "отслеживания" и использования переменных с одинаковыми именами и в разных областях видимости (или блоках), который реализован путём объявления переменной с помощью ‘our’; можно сказать, что в данном случае происходит автоматическое "переопределение" значений переменной по ходу всей программы;

  • когда же разработчику необходимо каждый раз в пределах какого-либо блока использовать переменную с одним и тем же именем, но с абсолютно "чистым" начальным значением, то, как правило, (и до возникновения ‘our’) используется ‘my’;

  • в случае же когда программист хочет очень жёстко "привязать" само существование конкретной переменной в пределах одного блока кода и напрочь "забыть" о том, что она когда-то существовала после выхода из него, у него всегда имеется ‘local’ для этого.
Подобно многим другим языкам программирования объявление переменной может происходить как с присваиванием ей начального значения, так и без оного, например: 'my $var=1;', где между переменной и её значением находится оператор присваивания (пожалуйста, не путайте его со знаком «тождественно равно» ‘==’). Существуют также иные способы присваивания значений переменным, но об этом не здесь и не сейчас.

Если читатель считает необходимым освежить свои знания по переменным, то раздел стандартной документации 'perldoc perlvar' всегда к Вашим услугам; или же зайдите на любое из зеркал CPAN.org, чтобы найти нужный Вам раздел документации.

вторник, 24 ноября 2009 г.

Perl :: Data Structures :: Scalar :: Perl scalar value

First, Perl uses the special mark to designate a scalar variable and it is '$' (dollar sign). As the Perl father says, he has picked this one just because it looks like 's' that can stand for 'scalar' and it comes handy indeed. But, on the other hand, recalling Larry Wall's linguistic background it is in place to say that 's' may stand for 'singular', too. This is especially important to keep in mind, when one is using it in Perl scripting as any scalar variable in Perl can keep only 'single' value. The real thing about everything in Perl lies near the context, which may make one 'miserable' unless one knows what the context in Perl is.

One more general thing about variable names in Perl, starting not so long before, unlike in many other languages the programmer can give names to his babies and beasts in his native language belonging to, say, Slavonic, Sino-Tibetian, Judaeo-German or any other family. Here are our special thanks to the Unicode team. It does not make much from efficacy point of view, but adds a lot to the readability of the source code.

The Perl scalars may look like '$var', and all; or, if one prefers Chinese flavour, he might write something like this: $輕 (qìng - easy, light).

FYI: (%perldoc) perldata - Perl data types