2.5.1. Від простого до складного

Перш ніж приступити до послідовного ознайомлення зне знайомим для вас мовою, повинний обмовитися і сказати, що всі приклади та йсама мова опису якого присвячена ця книга це Perl версії 5.ООЗ для операційної системи FreeBSD версії 2.О1. Існують реалізації цієї мови для операційних систем OS/2 , MS-DOS iWindows NT але вони небагато відстають по можливостях від оригіналу, породженого внадрахиш'х. Приклад І.

Введ ть уфайл test1.pl наступн рядки:

#!/usr/local/bin/perl

# Ум ст файлу test1.pl

print "Наше Вам з пензликом!?!"; Атепер докладно розберемо кожен рядок. #!/usr/local/bin/perl

Даний рядок повинний бути першої вбудь-якій Perl-програмі. Вона вказує системному нтерпретатору що даний файл - це Perl- програма. # Ум ст файлу test1.pl

Цей рядок називається коментарем. Вона завжди починається символом '#' зак нчується таким поясненням що як говорив великий Ходжа Насреддін "це тонке філософське питання", а говорячи простою мовою тут можна писати вс що завгодно. Нав ть побажання кер вництву. Уже тут воно точно до нього не д йде. print "Наше Вам з пєнзликом!\п";

Сама остання ну і звичайно головна. Вона просто виводить на екран напис "Наше Вам з пензликом!".

Тут слово print - це команда "вивести". Усі що влапках - це символи, \n - переклад рядка і';' - ознака кінця команди. Він обов'язковий. Водному рядку може бути кілька команд і усі вони повинні завершуватися символом    П ісля нього може бути символ '#' - це значить залишок рядка вважається коментарем.

Над цим рядком автору довелося більше усього поламати голову тому що внеї постійно лізли які те дивні "hello", "hello all", "Побудуємося і врятуємося", "Лад наш порятунок" і т.д. і т.п. Спочатку треба зробити файл test1.pl що виконується. Для цього вводиться команда:

chmod +x test1.pl Потім треба перев ірити де увас Perl. Для цього введіть:

which perl

Система видасть що те начебто: /usr/bin/perl

Тепер треба перев рити що бстрока О1 містила те що видала команда which. Якщо збіглося то треба ввести:

./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 програмування! Усі наступні приклади будуть розвитком цієї програми і вона перетвориться збридкого каченяти в прекрасного лебедя (не генер ала). Приклад З. Под л пол в.

#!/usr/local/bin/perl

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

while(<PASS>)

і

($login, $pass, $uid, $gid, $name, $home_dir, $shell) = split(':'); print "$login \t $name\n";

І

close(PASS);

Пояснення:

($login, $pass, $uid, $gid, $name, $home_dir, $shell) = split(':');

Привласнити зазначеним перемінної полючи вхдного рядка, вважаючи роздільником символ print "$login \t $name\n";