Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² PerlΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 2

Автор Маслов Π’Π»Π°Π΄ΠΈΠΌΠΈΡ€ Π’ΠΈΠΊΡ‚ΠΎΡ€ΠΎΠ²ΠΈΡ‡

.Β # Π­Ρ‚ΠΎ послСдняя строка ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Π€Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°:

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ: ΠšΠ°Π»ΡƒΠΆΡΠΊΠΈΠΉ Π»ΠΈΠΊΠ΅Ρ€ΠΎ-Π²ΠΎΠ΄ΠΎΡ‡Π½Ρ‹ΠΉ Π·Π°Π²ΠΎΠ΄. Π›ΡƒΡ‡ΡˆΠΈΠ΅ Π²ΠΎΠ΄ΠΊΠΈ ΠΈ

настойки. Π—Π²ΠΎΠ½ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΡ€Π°Π·Π΄Π½ΠΈΠΊΠΎΠΌ ΠšΠΎΡΡ‚Ρ€ΠΈΠΊΠΎΠ²Ρƒ

ΠΠ½Π°Ρ‚ΠΎΠ»ΠΈΡŽ Ρ‚. 2-23-06,,,

Login:uucrystΒ Uid:1055Β Gid:66Β Home dir:/var/spool/uucppublic/

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ: Π’ΠΎΡ€Π³ΠΎΠ²Ρ‹ΠΉ Π”ΠΎΠΌ Π”ΠΈΠ»Π΅Π½,,,

Login:uudilenΒ Uid:1075Β Gid:66Β Home dir:/var/spool/uucppublic

Если Π²Π°ΠΌ интСрСсно ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ эта ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΠΈΡ‚Π΅

страницу ΠΈ Π½Π°Ρ‡ΠΈΠ½ΠΈΡ‚Π΅ своС ΠΏΡƒΡ‚Π΅ΡˆΠ΅ΡΡ‚Π²ΠΈΠ΅ Π² ΠΌΠΈΡ€Π΅ ΠŸΠ΅Ρ€Π».

Π–Π΅Π»Π°ΡŽ ΡƒΠ΄Π°Ρ‡ΠΈ!

Запуск ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° ΠŸΠ΅Ρ€Π»

Бинтаксис:

perl [ΠΊΠ»ΡŽΡ‡ΠΈ] Ρ„Π°ΠΉΠ» Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹

ΠŸΠ΅Ρ€Π΅Π΄ стартом ΠŸΠ΅Ρ€Π» ΠΈΡ‰Π΅Ρ‚ скрипт (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ) Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ порядкС:

1. Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС Ссли ΡƒΠΊΠ°Π·Π°Π½ ΠΊΠ»ΡŽΡ‡ '-e'

2. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Ρ„Π°ΠΉΠ»Π° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС. Π’ пСрвой строкС ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ #!/usr/bin/perl для «автоматичСского» запуска скрипта.

3. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ Π²Π²ΠΎΠ΄/Π²Ρ‹Π²ΠΎΠ΄ Ссли Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ аргумСнты содСрТащиС имя Ρ„Π°ΠΉΠ»Π°. Для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² скрипту ΠΈΠ· стандартного ΠΏΠΎΡ‚ΠΎΠΊΠ° имя Ρ„Π°ΠΉΠ»Π° Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС обозначаСтся символом '-'.

Π’ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… 1 ΠΈ 2 ΠŸΠ΅Ρ€Π» сканируСт строки начиная с ΠΏΠ΅Ρ€Π²ΠΎΠΉ Ссли Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ ΠΊΠ»ΡŽΡ‡ '-x', Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π½Π°Ρ‡Π°Π»ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ считаСтся строка с символами '#!' Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΈ содСрТащая слово 'perl'.

ΠšΠΎΠ½Ρ†ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ считаСтся строка '__END__'.

Π’ строкС с '#!' ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ ΠΊΠ»ΡŽΡ‡ΠΈ. НапримСр '#!/bin/perl -d' для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

ПослС «обнаруТСния» скрипта ΠŸΠ΅Ρ€Π» ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ прСдставлСниС. Если ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ошибки Ρ‚ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ прСкращаСтся. Если ошибок Π½Π΅Ρ‚ ΠΎΠ½ выполняСтся. Если скрипт заканчиваСтся Π±Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄ exit() ΠΈΠ»ΠΈ die() Ρ‚ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ выполняСтся ΠΊΠΎΠΌΠ°Π½Π΄Π° exit(0) ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰Π°Ρ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠšΠ»ΡŽΡ‡ΠΈ:

-Oцифры

Код символа-раздСлитСля записСй. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ \0.

-a

Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ€Π΅ΠΆΠΈΠΌ автоматичСского раздСлСния (split) ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ $_ Π² массив $F. ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ΡΡ с ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ -n ΠΈ -p.

-c

ВыполняСтся синтаксичСская ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° скрипта ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄ Π±Π΅Π· запуска.

-d

Запуск Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.

-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

32768Β DΒ ΠžΡ‡ΠΈΡΡ‚ΠΊΠ°

-e ΠΊΠΎΠΌΠ°Π½Π΄Π°

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ скрипта ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ строки ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС.

-F шаблон

Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ шаблон раздСлСния Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠ»ΡŽΡ‡ΠΎΠΌ -a

-iΡ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅

ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ΡΡ для Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ Ρ„Π°ΠΉΠ»Π° ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ '<>'. ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π» хранится Π² Ρ„Π°ΠΉΠ»Π΅ с Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ‡Ρ‚ΠΎ ΠΈ исходный, Π½ΠΎ с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

perl -p -i.old -e Β«s/рядовой/Π΅Ρ„Ρ€Π΅ΠΉΡ‚ΠΎΡ€/Β» file

β€“Β ΠŸΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ всС слова «рядовой» Π½Π° Β«Π΅Ρ„Ρ€Π΅ΠΉΡ‚ΠΎΡ€Β» Π² Ρ„Π°ΠΉΠ»Π΅ file

Π° ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π» Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Ρ„Π°ΠΉΠ»Π΅ file.old

-IдирСктория

ДирСктория includ- Ρ„Π°ΠΉΠ»ΠΎΠ² для Π‘ прСпроцСссора. ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ΡΡ с ΠΊΠ»ΡŽΡ‡ΠΎΠΌ –P

ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ это /usr/include ΠΈ /usr/lib/perl.

-lчисло

АвтоматичСская ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° символа ΠΊΠΎΠ½Ρ†Π° строки.

Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Π΄Π²ΡƒΡ… случаях.

1. ΠžΡ‚Π±Ρ€Π°ΡΡ‹Π²Π°Π΅Ρ‚ послСдний символ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹Ρ… строк для Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² -n ΠΈ -p

2. ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ $\. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΊ ΠΊΠΎΠ½Ρ†Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ print добавляСтся этот символ.

-n

Π—Π°Ρ†ΠΈΠΊΠ»ΠΈΠ²Π°Π΅Ρ‚ скрипт ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС. ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ sed ΠΈΠ»ΠΈ awk.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ BEGIN ΠΈ END Π΄Π°ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Π΅ установки. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π΅ выводится.

-p

Π’ΠΎ ΠΆΠ΅ Ρ‡Ρ‚ΠΎ ΠΈ -n Π½ΠΎ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ строки Ρ„Π°ΠΉΠ»ΠΎΠ².

-P

ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎ прСпроцСссором языка Π‘. Π‘ΡƒΠ΄ΡŒΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΈ Π½Π΅ примСняйтС Π² коммСнтариях слова 'if', 'else' ΠΈΠ»ΠΈ 'define' Ρ‚.ΠΊ. это ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π‘ – прСпроцСссора.

-s

Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки запуска скрипта.

ВсС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ с символом '-' Π² Π½Π°Ρ‡Π°Π»Π΅, ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ с Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ присваиваСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true.

-S

ИспользованиС систСмной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ PATH для поиска скрипта.

Π”Π°Π½Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ примСняСтся Π² систСмах Π½Π΅ Π²ΠΎΡΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΡ… ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ "#!" Π² Π½Π°Ρ‡Π°Π»Π΅ скрипта для указания ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°.

-T

Π Π΅ΠΆΠΈΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Β«Π΄Ρ‹Ρ€Β» Π² Π·Π°Ρ‰ΠΈΡ‚Π΅. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это Π½ΡƒΠΆΠ½ΠΎ для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΈΠ²Π΅Π»Π΅Π³ΠΈΠΈ (setuid, setguid). Π–Π΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ для CGI скриптов.

-u

ΠŸΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄Π°ΠΌΠΏ памяти послС компиляции скрипта. Π­Ρ‚ΠΎΡ‚ Π΄Π°ΠΌΠΏ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‚ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для создания исполняСмого Ρ„Π°ΠΉΠ»Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ undump.

-U

Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ опасныС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. НапримСр ΡΡ‚Π΅Ρ€Π΅Ρ‚ΡŒ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ явно Π½Π΅ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.

-v

Π’Ρ‹Π²ΠΎΠ΄ Π½ΠΎΠΌΠ΅Ρ€Π° вСрсии ΠŸΠ΅Ρ€Π».

-w

Π’Ρ‹Π²ΠΎΠ΄ ΠΈΠΌΠ΅Π½ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, ΠΈΠΌΠ΅Π½ скаляров ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π΄ΠΎ ΠΈΡ… опрСдСлСния, ΠΈΠΌΠ΅Π½ пСрСопрСдСляСмых ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ссылок Π½Π° Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ записи Π² Ρ„Π°ΠΉΠ»Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Β«Ρ‡Ρ‚Π΅Π½ΠΈΠ΅Β», ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ Π½Π΅ ΠΊΠΎΡ€Π΅Ρ‚Π½Ρ‹Ρ… записСй чисСл, использованиС массивов ΠΊΠ°ΠΊ скаляров, рСкурсия Π±ΠΎΠ»Π΅Π΅ 100 ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ.

-x дирСктория

Π Π΅ΠΆΠΈΠΌ запуска скрипта вставлСнного Π²Β Ρ„Π°ΠΉΠ» содСрТащий ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ тСкст. Началом скрипта считаСстся строка с символами '#!' Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΈ содСрТащия слово perl. ΠšΠΎΠ½Ρ†ΠΎΠΌ – строка с '__END__'

Указанная дирСктория становится Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ исполнСния. Если Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ строки Ρ‚ΠΎ это Π»ΡƒΡ‡ΡˆΠ΅ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Ρ„Π°ΠΉΠ»Π° DATA.

Бинтаксис

ΠŸΠ΅Ρ€Π» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° (скрипт) состоит ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ†ΠΈΠΉ ΠΈ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

ЕдинствСнно Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄Π΅ΠΊΠ»Π°Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ это Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² ΠΈ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ). ВсС Π½Π΅ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, массивы, ΠΈΠΌΠ΅ΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0 ΠΈΠ»ΠΈ null.

Π”Π΅ΠΊΠ»Π°Ρ€Π°Ρ†ΠΈΠΈ (объявлСния).

ΠŸΠ΅Ρ€Π» ΠΈΠΌΠ΅Π΅Ρ‚ свободный Ρ„ΠΎΡ€ΠΌΠ°Ρ‚. ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с символа '#' ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡŽΡ‚ΡΡ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° строки.

Π”Π΅ΠΊΠ»Π°Ρ€Π°Ρ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² любом мСстС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ прСдлоТСния (statements) Π½ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ ΠΎΠ½ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ„Π°Π·Π΅ компиляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡ… ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ ΠΈΠ»ΠΈ Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΈΠ»ΠΈ Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ДСкларация ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ имя ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΊΠ°ΠΊ списковый ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ начиная с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° дСкларирования.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

sub test;Β # ДСкларация ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ test

$var1 = test $0; # ИспользованиС ΠΊΠ°ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° списка.

Π”Π΅ΠΊΠ»Π°Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹ ΠΈΠ· ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ require ΠΈΠ»ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ΠΎ ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Π² Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΈΠΌΠ΅Π½ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ use. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ см. Π³Π»Π°Π²Ρƒ ΠœΠΎΠ΄ΡƒΠ»ΠΈ.

ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ заканчиваСтся символом ';' Ссли Ρ‚ΠΎΠ»ΡŒΠΊΠΎ это Π½Π΅ послСднСС ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Π±Π»ΠΎΠΊΠ΅ Π³Π΄Π΅ ';' ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ. Π—Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅ Ρ‡Ρ‚ΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ eval{} ΠΈ do{} ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ выглядят ΠΊΠ°ΠΊ слоТныС прСдлоТСния Π½ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ это Ρ‚Π΅Ρ€ΠΌΡ‹ ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ указания ΠΊΠΎΠ½Ρ†Π° прСдлоТСния.