Запуск інтерпретатора перл

perl [ключі] файл аргументи

Перед стартом Перл шукає скрипт (програму) у наступному порядку:

1. У командному рядку якщо зазначений ключ '-e'

2. Вміст файлу зазначеного в командному рядку. У першому рядку можна вказувати #! / Usr / bin / perl для «автоматичного» запуску скрипта.

3. Стандартний введення / виведення якщо не вказано файл або аргументи містять ім'я файлу. Для передачі аргументів скрипту з стандартного потоку ім'я файлу в командному рядку позначається символом '-'.

У методах 1 і 2 Перл сканує рядки починаючи з першої якщо не вказано ключ '-x', в іншому випадку початком програми вважається рядок з символами '#! 'На початку і містить слово' perl '.

Кінцем програми вважається рядок '__END__'.

У рядку з '#! 'Можна вказувати і ключі. Наприклад '#! / Bin / perl -d' для налагодження програм.

Після «виявлення» скрипта Перл компілює його цілком у внутрішнє представлення. Якщо виявляються помилки то виконання припиняється. Якщо помилок немає він виконується. Якщо скрипт закінчується без команд exit () або die () то за замовчуванням виконується команда exit (0) позначає нормальне завершення програми.

Код символу-роздільника записів. За замовчуванням \ 0.

Включає режим автоматичного поділу (split) змінної $ _ в масив $ F. Застосовується з ключами -n і -p.

Виконується синтаксична перевірка скрипта і вихід без запуску.

Запуск в режимі інтерактивної налагодження.

-Dчісло або Dспісок

Встановити прапори налагодження Перл. Наприклад -d14 простежити як Перл виконує вашу програму.

1 p Синтаксичний розбір

2 s Стан стека

4 l Стан стека імен

8 t Трасування виконання

16 o Створення оператора вузла

32 c Строкове / числове перетворення

64 p Висновок команди препроцесора для -P

128 m Розподіл пам'яті

256 f Обробка формату

512 r Синтаксичний розбір регулярних виразів

1024 x Дамп синтаксичного дерева

2048 u Перевірка захисту

4096 L «Витік» пам'яті

8192 H Дамп хешу

16384 X Розподіл scratchpad

Виконання скрипта з одного рядка зазначеного в командному рядку.

Вказує шаблон поділу в режимі роботи з ключем -a

Застосовується для резервної копії файлу оброблюваного оператором '<> '. Оригінал зберігається в файлі з тим же ім'ям що і вихідний, але з зазначеним розширенням.

perl -p -i.old -e «s / рядовий / єфрейтор /» file

- Поміняти все слова «рядовий» на «єфрейтор» в файлі file

а оригінал записати в файлі file.old

Директорія includ- файлів для З препроцесора. Застосовується з ключем -P

за замовчуванням це / usr / include і / usr / lib / perl.


Автоматична обробка символу кінця рядка.

Працює в двох випадках.

1. Відкидає останній символ читаних рядків для режимів -n і -p

2. Надає вказане значення змінної $ \. Таким чином до кінця кожного рядка виводиться оператором print додається цей символ.

Зациклює скрипт і послідовно обробляє файли зазначені в командному рядку. Дозволяє створювати команди подібні sed або awk.

Оператори BEGIN і END дають можливість робити початкові і кінцеві установки. Вміст файлів не виводиться.

Те ж що і -n але друкує оброблювані рядки файлів.

Функція переходу в режим обробки ключів командного рядка запуску скрипта.

Всі аргументи з символом '-' на початку, вважаються ключем і змінним з таким же ім'ям присвоюється значення true.


Використання системної змінної PATH для пошуку скрипта.

Даний ключ застосовується в системах які сприймають послідовність "#!" На початку скрипта для вказівки інтерпретатора.

Режим перевірки «дірок» у захисті. Зазвичай це потрібно для програм які працюють в режимі підвищеної привілеї (setuid, setguid). Бажано для CGI скриптів.

Примусовий дамп пам'яті після компіляції скрипта. Цей дамп можна потім використовувати для створення виконуваного файлу за допомогою програми undump.

Дозвіл виконувати небезпечні операції. Наприклад стерти директорію або виконувати явно не закриту програму.

Висновок номера версії Перл.

Висновок імен змінних використовуваних тільки один раз, імен скалярів використовуваних до їх визначення, імен переобумовлених підпрограм, посилань на невизначений покажчики файлів, спроб записи в файли відкритих тільки на «читання», вживання не коретних записів чисел, використання масивів як скалярів, рекурсія більше 100 рівнів.

Режим запуску скрипта вставленого в файл містить звичайний текст. Початком скрипта счітаестся рядок з символами '#! 'На початку і яку воно містить слово perl. Кінцем - рядок з '__END__'

Схожі статті