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



         

От простого к сложному - часть 2


chmod +x test1.pl

Затем проверьте где у вас Perl. Для этого введите:

which perl

Система вам выдаст что то вроде: /usr/bin/perl

Если:

perl: Command not found.

То тогда закройте книжку и ложитесь спать. У вас просто нет Perl или он не установлен. А мне остается послать вас к системному администратору или к man (для переводчиков- man сокращение от manual а не то что вы подумали).

Теперь проверьте что бы строка 01 содержала то что выдала команда which. Если совпало то введите:

test1.pl

и бьюсь на 50$, что и теперь программа не заработает, так как правильней ввести:

./test1.pl

Если я проиграл, то не радуйтесь. Да же если вам удалось запустить программу как test1.pl это значит, что у вас будут неприятности в будущем.

Пример 2.

Данная программа выводит на экран все ваши секреты. А именно файл /etc/passwd.

#!/usr/local/bin/perl open(PASS, "</etc/passwd") || die "Файл не найден!"; while(<PASS>) { print; } close(PASS);

Пояснения:

open(PASS, "</etc/passwd") || die "Файл не найден!";

"Открыть" файл, т.е. создать указатель файла PASS, и в случае ошибки выдать "Файл не найден!" и закончить программу.

while(<PASS>)

Читать по одной строке файла в переменную по умолчанию $_.

{

Открыть блок операторов.

print;

Вывести на экран переменную по умолчанию $_

}

Конец блока.

close(PASS);

Закрыть файл. Этого можно и не делать, т. к. файл автоматически закроется после окончания программы.

Результат работы этой программы тот же что и команды cat /etc/passwd. По экрану пробежали непонятные строки но зато теперь перед вами открыты горизонты Perl программирования! Все последующие примеры будут развитием этой программы и она превратится из гадкого утенка в прекрасного лебедя (не генерала).

Пример 3.

Разделение полей.

#!/usr/local/bin/perl open(PASS, "</etc/passwd") || die "Файл не найден!"; while(&ltPASS>) { ($login, $pass, $uid, $gid, $name, $home_dir, $shell) = split(':'); print "$login \t $name\n"; } close(PASS);




Содержание  Назад  Вперед