Создание серверных приложений на языке PERL

     Кейси |   

Типы данных в Perl переменные



Урок 2. Типы данных в Perl, переменные, одинарные и двойные кавычки

Perl - не типизированный язык программирования, в отличие от Pascal или C (хотя очень похож на последний). В Perl есть 3 основных типа переменных: скаляры, массивы и хеши (ассоциативные массивы). Сегодня подробно разберем первый из типов.

Perl не требует обязательного объявления переменных. Переменная автоматически определяется как только встретилась в контексте. Т.к. Perl не типизированный язык, для него нет таких понятий как строковая переменная, числовая, байтовая и т.д. Это отрадно!
В зависимости от контекста, её содержимое автоматически конвертируется в числовое или текстовое.
Помимо этого скаляр может иметь и логическое значение True или False (Истина или Ложь). Если скаляр НЕ равен 0 или пустой строке, он имеет логическое True. В противном случае - False.

Обычная скалярная переменная начинается со спец. символа $, её имя должно начинаться только с латинской буквы или символа нижнего подчеркивания. В состав имени переменной могут входить также и цифры. Регистр букв тоже важен. К примеру $Var1 и $var1 это разные переменные.

Для присваивания переменной какого-то значения, служит знак присваивания. Как и в Basic, это символ равенства: "=". Работает он также как и в остальных языках, по этому не требует описания.

Чтобы присвоить переменной текстовую строку, её заключают в кавычки. Perl допускает применение как одинарных ('), так и двойных (") кавычек. Разница лишь в том, что в двойных кавычках переменные интерполируются (подставляются значения переменных), а в одинарных - нет. Для присваивания переменным числовых значений кавычек не требуется.

* * * *

Теперь давайте вспомним предыдущий наш урок. Попробуем модернизировать нашу программу с учетом полученных сегодня знаний. Изначально она выглядела таким образом:

#!/usr/bin/perl
print "Content-Type: text/html\n\n";



print "Мир дому твоему!";

Присвоим строку "Мир дому твоему!" какой-нибудь переменной, и будем выводить её значение. Программа получится следующей:

#!/usr/bin/perl
#programm 1
print "Content-Type: text/html\n\n";

$message = "Мир дому твоему!";
print "$message";

Пока пользы от этого мало. Теперь напишем программу, которая демонстрирует работу одинарных и двойных кавычек.

#!/usr/bin/perl
#programm 2
print "Content-Type: text/html\n\n";

$var1 = 16;
$var2 = "$var1 овец";
print 'Значение переменной $var1: ';
print "$var1<br>";
print 'Значение переменной $var2: ';
print "$var2";

Небольшой комментарий. Сначала мы присваиваем число 16 переменной $var1. Как было сказано ранее, числа не нужно обрамлять кавычками.
Следующая строка требует объяснения. Т.к. кавычки у нас стоят двойные, переменные в них интерполируются. Таким образом переменной $var2 мы присваиваем строку "16 овец".
Далее выводим строку "Значение переменной $var1: ". Т.к. кавычки стояли одинарные, переменная не интерполируется.
Затем выводим значение переменной $var1 и добавляем HTML тег "<BR>" для переноса текста на следующую строку. Далее ситуация повторяется.

* * * *

Ответьте на вопросы:

  • Какие символы может содержать название переменной?
  • Когда обычная скалярная переменная имеет логическое "Ложь"?
  • Какие из ниже приведенных переменных написаны неправильно или используются неправильно? Объясните, почему Вы так считаете?
$Var1="256"; $Var2="33.2"; $Var3='Var1, '; $_Var=some text here; $_var=some text here; $_var='some text here'; $-var="some text here";

Содержание раздела