logo search
Vvedenie_v_Veb_programmirovanien_2 / Vvedenie_v_Veb_programmirovanien_2

Приложение 3. Основы cgi/Perl

Программы, написанные на языке скриптов Perl, синтаксически похожи на программы, написанные на языке Cи. Рассмотрим простой пример вывода строк:

#!/usr/local/bin/perl –w

print("Hello, world\n"); #пример3.1-вывод строк

print "I live in Minsk,\n", "I work hire", "\n";

print ('Hello, world\n');

Будет выведено:

Hello, world

I live in Minsk,

I work hire

Hello, world \n

Программы main(), как в языке Си, здесь нет. Комментарием в Perl является все, что следует за «решеткой» (#), вплоть до конца строки. Строка в одинарных ковычках рассматривается как массив символов, при этом символы \n будут выведены как обычные символы, а не как символ конца строки.

В системе UNIX при вызове Perl через CGI первая строка должна иметь вид комментария, в котором системе указывается путь к интерпретатору perl.exe. Аналогично, в системе Windows указывается свой путь, в котором прямой слэш ‘/’ может быть заменен на обратный ‘\’, например c:\perl5\bin\perl.

Чтобы выполнить программу, создаем файл pr31.pl и наберем строку вызова интерпретатора: perl pr31.pl

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

Рассмотрим второй пример ввода и вывода значений строковых переменных:

#!/usr/local/bin/perl -w

#пример3.2- ввод и вывод строк

# -w режим отображения предупреждений об ошибках

print "What is yure name?:";

$who =<STDIN>;

$where = 'Минск';

print "My name is $who,\n"; # представимся

print "I live in \t$where\n",

Будет выведено:

What is yure name?:valera

My name is valera,

I live in Минск

Для ввода строкового значения используется дескриптор стандартного файла <STDIN> . Если строка еще не образована, то Perl останавливается и ждет до тех пор, пока не будут введены информация и вслед за ней символ перехода на новую строку.