Perl заимствует синтаксис и понятия из многих языков: awk, sed, C, Bourne Shell, Smalltalk, Lisp и даже английского. Однако между языками есть определенные различия. Эта глава предназначена для быстрого ознакомления с синтаксисом, ожидаемым в Perl.
Программа Perl состоит из последовательности объявлений и операторов, которые выполняются сверху вниз. Циклы, подпрограммы и другие управляющие структуры позволяют вам перемещаться внутри кода. Каждое простое утверждение должно заканчиваться точкой с запятой (;).
Perl — это язык свободной формы: вы можете форматировать и делать отступы так, как вам нравится. Пробельные символы служат в основном для разделения токенов, в отличие от таких языков, как Python, где он является важной частью синтаксиса, или Fortran, где он несущественен.
Первая Perl-программа
Программирование в интерактивном режиме
Вы можете использовать интерпретатор Perl с параметром -e в командной строке, который позволяет выполнять операторы Perl из командной строки. Давайте попробуем что-то в $ prompt следующим образом:
$perl -e 'print "Hello World\n"'
Это выполнение даст следующий результат —
Hello, world
Script Mode Программирование
Предполагая, что вы уже используете $ prompt, давайте откроем текстовый файл hello.pl с помощью редактора vi или vim и поместим следующие строки в ваш файл.
#!/usr/bin/perl # This will print "Hello, World" print "Hello, world\n";
Здесь / usr / bin / perl является действительным двоичным файлом интерпретатора perl. Перед выполнением сценария обязательно измените режим файла сценария и дайте ему привилегию на выполнение. Обычно настройка 0755 работает отлично, и, наконец, вы выполняете приведенный выше сценарий следующим образом:
$chmod 0755 hello.pl $./hello.pl
Это выполнение даст следующий результат —
Hello, world
Вы можете использовать скобки для аргументов функций или опустить их по своему вкусу. Они требуются только время от времени для выяснения вопросов приоритета. Следующие два утверждения дают одинаковый результат.
print("Hello, world\n"); print "Hello, world\n";
Расширение файла Perl
Скрипт Perl может быть создан внутри любой обычной программы простого текстового редактора. Для каждого типа платформы доступно несколько программ. Существует множество программ для программистов, доступных для скачивания в Интернете.
В соответствии с соглашением Perl файл Perl должен быть сохранен с расширением .pl или .PL, чтобы быть распознанным как работающий сценарий Perl. Имена файлов могут содержать цифры, символы и буквы, но не должны содержать пробелов. Используйте подчеркивание (_) в местах пробелов.
Комментарии в Perl
Комментарии на любом языке программирования являются друзьями разработчиков. Комментарии могут использоваться, чтобы сделать программу удобной для пользователя, и они просто пропускаются интерпретатором, не влияя на функциональность кода. Например, в приведенной выше программе строка, начинающаяся с hash #, является комментарием.
Проще говоря, комментарии в Perl начинаются с символа хеша и заканчиваются до конца строки —
# This is a comment in perl
Строки, начинающиеся с =, интерпретируются как начало раздела встроенной документации (pod), а все последующие строки до следующего = cut игнорируются компилятором. Ниже приведен пример —
#!/usr/bin/perl # This is a single line comment print "Hello, world\n"; =begin comment This is all part of multiline comment. You can use as many lines as you like These comments will be ignored by the compiler until the next =cut is encountered. =cut
Это даст следующий результат —
Hello, world
Пробелы в Perl
Программа Perl не заботится о пробелах. Следующая программа работает отлично —
#!/usr/bin/perl print "Hello, world\n";
Но если пробелы находятся внутри строк в кавычках, они будут напечатаны как есть. Например —
#!/usr/bin/perl # This would print with a line break in the middle print "Hello world\n";
Это даст следующий результат —
Hello world
Все типы пробелов, такие как пробелы, символы табуляции, новые строки и т. Д., Эквивалентны для интерпретатора, если они используются вне кавычек. Строка, содержащая только пробел, возможно, с комментарием, называется пустой строкой, и Perl полностью игнорирует ее.
Одиночные и двойные кавычки в Perl
Вы можете использовать двойные или одинарные кавычки вокруг строк:
#!/usr/bin/perl print "Hello, world\n"; print 'Hello, world\n';
Это даст следующий результат —
Hello, world Hello, world\n$
Существует важное различие в одинарных и двойных кавычках. Только двойные кавычки интерполируют переменные и специальные символы, такие как символы новой строки \ n, тогда как одинарные кавычки не интерполируют никакие переменные или специальные символы. Ниже приведен пример, где мы используем $ a в качестве переменной для хранения значения и последующей печати этого значения —
#!/usr/bin/perl $a = 10; print "Value of a = $a\n"; print 'Value of a = $a\n';
Это даст следующий результат —
Value of a = 10 Value of a = $a\n$
«Здесь» Документы
Вы можете хранить или печатать многострочный текст с большим комфортом. Даже вы можете использовать переменные внутри документа «здесь». Ниже приведен простой синтаксис, внимательно проверьте, не должно быть пробелов между << и идентификатором.
Идентификатором может быть либо простое слово, либо какой-либо текст в кавычках, как мы использовали EOF ниже. Если идентификатор указан в кавычках, тип используемой вами цитаты определяет обработку текста внутри документа здесь, как и при обычном цитировании. Идентификатор без кавычек работает как двойные кавычки.
#!/usr/bin/perl $a = 10; $var = <<"EOF"; This is the syntax for here document and it will continue until it encounters a EOF in the first line. This is case of double quote so variable value will be interpolated. For example value of a = $a EOF print "$var\n"; $var = <<'EOF'; This is case of single quote so variable value will be interpolated. For example value of a = $a EOF print "$var\n";
Это даст следующий результат —
This is the syntax for here document and it will continue until it encounters a EOF in the first line. This is case of double quote so variable value will be interpolated. For example value of a = 10 This is case of single quote so variable value will be interpolated. For example value of a = $a
Убегающие персонажи
Perl использует символ обратной косой черты (\) для экранирования символов любого типа, которые могут помешать нашему коду. Давайте возьмем один пример, где мы хотим напечатать двойную кавычку и знак $ —
#!/usr/bin/perl $result = "This is \"number\""; print "$result\n"; print "\$result\n";
Это даст следующий результат —
This is "number" $result
Perl идентификаторы
Идентификатор Perl — это имя, используемое для идентификации переменной, функции, класса, модуля или другого объекта. Имя переменной Perl начинается с $, @ или%, за которыми следуют ноль или более букв, подчеркиваний и цифр (от 0 до 9).
Perl не допускает использование знаков препинания, таких как @, $ и% в идентификаторах. Perl — это чувствительный к регистру язык программирования. Таким образом, $ Manpower и $ manpower — это два разных идентификатора в Perl.