Скаляры Perl

Скаляр — это простая единица данных.

Скаляр может быть целым числом, числом с плавающей запятой, символом, строкой, абзацем или целой веб-страницей.

Следующий пример демонстрирует простое применение скаляров:

Пример

#!/usr/bin/perl $age = 20; # Присваивание целого числа $name = "Пример"; # Строка $salary = 130.50; # Число с плавающей запятой print "Возраст = $age\n"; print "Имя = $name\n"; print "Зарплата = $salary\n";

Выполните приведённую выше программу, результат вывода:

Age = 20
Name = Example
Salary = 130.5

Числовые скаляры

Скаляр обычно является числом или строкой. Следующий пример демонстрирует использование различных типов числовых скаляров:

Пример

#!/usr/bin/perl $integer = 200; $negative = -300; $floating = 200.340; $bigfloat = -1.2E-23; # Восьмеричное 377, десятичное 255 $octal = 0377; # Шестнадцатеричное FF, десятичное 255 $hexa = 0xff; print "integer = $integer\n"; print "negative = $negative\n"; print "floating = $floating\n"; print "bigfloat = $bigfloat\n"; print "octal = $octal\n"; print "hexa = $hexa\n";

Выполните приведённую выше программу, результат вывода:

integer = 200
negative = -300
floating = 200.34
bigfloat = -1.2e-23
octal = 255
hexa = 255

Строковые скаляры

Следующий пример демонстрирует использование различных типов строковых скаляров. Обратите внимание на разницу между одинарными и двойными кавычками:

Пример

#!/usr/bin/perl $var = "String scalar - Example Tutorial!"; $quote = 'I am inside single quotes - $var'; $double = "I am inside double quotes -$var"; $escape = "Escape character usage -\tHello, World!"; print "var = $var\n"; print "quote = $quote\n"; print "double = $double\n"; print "escape = $escape\n";

Выполните приведённую выше программу, результат вывода:

var = 字符串标量 - Example!
quote = 我在单引号内 - $var
double = 我在双引号内 - 字符串标量 - Example!
escape = 转义字符使用 -    Hello, World!

Скалярные операции

Следующий пример демонстрирует простые скалярные операции:

Пример

#!/usr/bin/perl $str = "hello" . "world"; # Конкатенация строк $num = 5 + 10; # Сложение двух чисел $mul = 4 * 5; # Умножение двух чисел $mix = $str . $num; # Конкатенация строки и числа print "str = $str\n"; print "num = $num\n"; print "mix = $mix\n";

Выполните приведённую выше программу, результат вывода:

str = helloworld
num = 15
mix = helloworld15

Многострочные строки

Мы можем использовать одинарные кавычки для вывода многострочных строк, как показано ниже:

Пример

#!/usr/bin/perl $string = 'Пример руководства — То, что мы изучаем, — это не только технологии, но и мечты!'; print "$string\n";

Выполните приведённую выше программу, результат вывода:

Rookie Tutorial
    — What we learn is not only technology, but also dreams!

Вы также можете использовать синтаксис документа "here" для вывода нескольких строк:

Пример

#!/usr/bin/perl print <<EOF; Пример руководства — То, что мы изучаем, — это не только технологии, но и мечты!EOF

Выполните приведённую выше программу, результат вывода:

Rookie Tutorial
    — What we learn is not only technology, but also dreams!

Специальные символы

Ниже мы продемонстрируем использование специальных символов в Perl, таких как __FILE__, __LINE__ и __PACKAGE__, которые соответственно представляют имя файла, номер строки и имя пакета текущего выполняемого скрипта.

Примечание: __— это два подчёркивания,__FILE__с двумя подчёркиваниями и спереди, и сзади.

Эти специальные символы являются отдельными токенами и не могут быть записаны внутри строк, например:

Пример

#!/usr/bin/perl print "Имя файла". __FILE__ . "\n"; print "Номер строки" . __LINE__ ."\n"; print "Имя пакета" . __PACKAGE__ ."\n"; # Невозможно разобрать print "__FILE__ __LINE__ __PACKAGE__\n";

Выполните приведённую выше программу, результат вывода:

文件名 test.pl
行号 4
包名 main
__FILE__ __LINE__ __PACKAGE__

v-строки

Строка, начинающаяся с v, за которой следуют одно или несколько целых чисел, разделённых точками, рассматривается как строковый литерал.

Когда вы хотите напрямую указать числовое значение для каждого символа, v-строки предоставляют более понятный способ создания таких строк, в отличие от "\x{1}\x{14}\x{12c}\x{fa0}", которое нелегко понять. Рассмотрим следующий пример:

Пример

#!/usr/bin/perl $smile = v9786; $foo = v102.111.111; $martin = v77.97.114.116.105.110; print "smile = $smile\n"; print "foo = $foo\n"; print "martin = $martin\n";

Выполните приведённую выше программу, результат вывода:

Wide character in print at test.pl line 7.
smile = &#x263a;
foo = foo
martin = Martin
Другие расширения