Базовый синтаксис Perl
Perl заимствует возможности из C, sed, awk, shell-скриптов и многих других языков программирования. Его синтаксис несколько похож на эти языки, но также имеет свои особенности.
Программы на Perl состоят из объявлений и операторов. Программа выполняется сверху вниз, включая циклы и условное управление. Каждый оператор заканчивается точкой с запятой;.
В Perl нет строгих правил форматирования; можно делать отступы в соответствии с вашим предпочитаемым стилем.
Первая программа на Perl
Интерактивное программирование
В командной строке можно использовать опцию-eдля ввода операторов и выполнения кода, как в примере ниже:
$ perl -e 'print "Hello World\n"'
После ввода указанной выше команды и нажатия Enter выводится:
Hello World
Программирование скриптов
Мы поместим следующий код в файлhello.pl:
Пример
В коде,/usr/bin/perl— это путь к интерпретатору Perl. Перед выполнением скрипта убедитесь, что файл имеет права на исполнение. Сначала мы можем изменить права доступа к файлу на 0755:
$ chmod 0755 hello.pl $ ./hello.pl Hello, world # 输出结果
print также может использовать круглые скобки для вывода строк. Следующие два оператора выводят одинаковый результат:
print("Hello, world\n");
print "Hello, world\n";
Файл скрипта
Код Perl можно записать в текстовый файл с расширением .pl или .PL.
Имена файлов могут содержать цифры, символы и буквы, но не могут содержать пробелы. Вместо пробелов можно использовать символы подчеркивания (_).
Простое имя файла Perl:
run_oob.pl
Комментарии
Использование комментариев облегчает чтение вашей программы; это хорошая привычка программиста.
Способ комментирования в Perl — использовать символ # в начале инструкции, например:
# 这一行是 perl 中的注释
Perl также поддерживает многострочные комментарии. Наиболее распространённый метод — использовать POD (Plain Old Documentation) для многострочных комментариев. Метод следующий:
Пример
Запустите приведённую выше программу, вывод:
Hello, world
Примечание:
- =pod и =cut могут находиться только в начале строки.
- Начинается с = и заканчивается на =cut.
- После = обязательно должен сразу следовать какой-либо символ; после =cut это не требуется.
Пробельные символы в Perl
Интерпретатор Perl не обращает внимания на количество пробельных символов; следующая программа также будет работать нормально:
Пример
Запустите приведённую выше программу, вывод:
Hello, world
Но если пробелы и разрывы строк находятся внутри строки, они будут выведены как есть:
Пример
Запустите приведённую выше программу, вывод:
Hello
world
Все типы пробельных символов, такие как пробелы, табуляции, пустые строки и т. д., игнорируются интерпретатором, если они находятся вне кавычек; если они внутри кавычек, они выводятся как есть.
Одинарные и двойные кавычки
Perl может использовать одинарные и двойные кавычки для вывода строк, как показано ниже:
Пример
Результат вывода следующий:
Hello, world Hello, world\n
Из результатов видно, что двойные кавычки \n выводят новую строку, а одинарные — нет.
Разница между двойными и одинарными кавычками в Perl: двойные кавычки могут нормально обрабатывать некоторые escape-последовательности и переменные, а одинарные не могут их обрабатывать и выводят их как есть.
Пример
Результат вывода следующий:
a = 10 a = $a\n
Здесь-документ
Здесь-документ, также называемый heredoc, hereis, here-string или here-script, — это метод определения строки в командных оболочках (таких как sh, csh, ksh, bash, PowerShell и zsh) и языках программирования (таких как Perl, PHP, Python и Ruby).
Обзор использования:
- 1. После него должна стоять точка с запятой, иначе он не скомпилируется.
- 2. EOF можно заменить любым другим символом, только убедитесь, что конечный маркер совпадает с начальным маркером.
- 3. Конечный маркер должен находиться в начале строки и занимать отдельную строку (то есть он должен начинаться с начала строки, без пробелов или символов до или после него).
- 4. Начальный маркер может быть без кавычек или с одинарными или двойными кавычками. Отсутствие кавычек действует так же, как двойные кавычки: встроенные переменные и escape-символы интерпретируются. С одинарными кавычками встроенные переменные и escape-символы не интерпретируются.
- 5. Когда содержимому нужны встроенные кавычки (одинарные или двойные), не нужно добавлять escape-символы; он сам экранирует одинарные и двойные кавычки. Это эквивалентно использованию q и qq.
Пример
После выполнения вышеприведённой программы вывод:
这是一个 Here 文档实例,使用双引号。 可以在这输入字符串和变量。 例如:a = 10 这是一个 Here 文档实例,使用单引号。 例如:a = $a
Экранирующие символы
Если нам нужно вывести специальный символ, мы можем использовать обратную косую черту (\) для экранирования, например, чтобы вывести знак доллара ($):
Пример
После выполнения вышеприведённой программы вывод:

Идентификаторы Perl
Идентификаторы Perl — это имена, используемые пользователями в программировании. Имена переменных, имена констант, имена функций, имена блоков операторов и т. д., используемые в программе, вместе называются идентификаторами.
- Компоненты идентификатора: английские буквы (a~z, A~Z), цифры (0~9) и знаки подчёркивания (_).
- Идентификаторы начинаются с английской буквы или знака подчёркивания.
- Идентификаторы чувствительны к регистру; $example и $Example представляют две разные переменные.