-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
ΠΠ°Π½Π½ΡΠΉ ΠΊΠ»ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Π½Π΅ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ "#!" Π² Π½Π°ΡΠ°Π»Π΅ ΡΠΊΡΠΈΠΏΡΠ° Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ°.
-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{} ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ³Π»ΡΠ΄ΡΡ ΠΊΠ°ΠΊ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ Π½ΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΡΠΎ ΡΠ΅ΡΠΌΡ ΠΈ ΡΡΠ΅Π±ΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΡΠ±ΠΎΠ΅ ΠΏΡΠΎΡΡΠΎΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ single ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΠ΅ΡΠ΅Π΄ ';'. Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ single ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ:
if EXPR
unless EXPR
while EXPR
until EXPR
Π³Π΄Π΅ EXPR β Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠ΅Π΅ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true ΠΈΠ»ΠΈ false.
ΠΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ while ΠΈ until Π²ΡΡΠΈΡΠ»ΡΡΡΡΡ Π² Π½Π°ΡΠ°Π»Π΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΡΠΎΠΌΠ΅ Π±Π»ΠΎΠΊΠ° do ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ²ΡΠΌ.
if EXPRβ ΠΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡ Β«Π΅ΡΠ»ΠΈΒ». ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΅ΡΠ»ΠΈ EXPR Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ true.
ΠΡΠΈΠΌΠ΅Ρ:
$var = 1;
$var2 = 3 if $var > 0; # Π Π΅Π·ΡΠ»ΡΡΠ°Ρ: $var2 = 3
while EXPR β ΠΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡ Β«ΠΏΠΎΠΊΠ°Β». ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· ΠΏΠΎΠΊΠ°EXPR = true
ΠΡΠΈΠΌΠ΅Ρ:
$var = 1;
print $var++ while $var < 5; # ΠΠ΅ΡΠ°ΡΡ $var Ρ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠΎΠΌ
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ: 1234
until EXPR β ΠΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡ "Π΄ΠΎ ". ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ ΠΏΠΎΠΊΠ° EXPR = false
ΠΡΠΈΠΌΠ΅Ρ:
$var = 1;
print $var++ until $var > 5; # ΠΠ΅ΡΠ°ΡΡ $var Ρ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠΎΠΌ
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ: 12345
unless EXPR β ΠΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡ Β«Π΅ΡΠ»ΠΈ Π½Π΅Β» . ΠΠ±ΡΠ°ΡΠ½ΡΠΉ ΠΊ if. ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΅ΡΠ»Π΅ EXPR = false.
ΠΡΠΈΠΌΠ΅Ρ:
$var = 1;
print $var++ unless $var > 5; # ΠΠ΅ΡΠ°ΡΡ $var Ρ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠΎΠΌ
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ: 1
ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΡΠΎΡΡΡΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅Π»ΡΠΌΠΈ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π±Π»ΠΎΠΊΠΎΠΌ. Π ΠΠ΅ΡΠ» ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΅Π»ΡΠΉ ΡΠ°ΠΉΠ», ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ΅ eval{} ΠΈΠ»ΠΈ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΡΡΡΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΡ ΠΊΡΡΠ³Π»ΡΠΌΠΈ ΡΠΊΠΎΠ±ΠΊΠ°ΠΌΠΈ '{}'.
Π‘ΡΠΆΠ΅ΡΡΠ²ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π²ΠΈΠ΄Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ:
if (EXPR) BLOCK
if (EXPR) BLOCK else BLOCK
if (EXPR) BLOCK elsif (EXPR) BLOCK ... else BLOCK
LABEL while (EXPR) BLOCK
LABEL while (EXPR) BLOCK continue BLOCK
LABEL for (EXPR; EXPR; EXPR) BLOCK
LABEL foreach VAR (LIST) BLOCK
LABEL BLOCK continue BLOCK
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΠΏΠΈΡΠ°Π½Ρ Π² ΡΠ΅ΡΠΌΠ°Ρ Π±Π»ΠΎΠΊΠΎΠ² Π° Π½Π΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΊΠ°ΠΊ Π² ΡΠ·ΡΠΊΠ°Ρ C ΠΈΠ»ΠΈ Pascal. ΠΠΎΡΡΠΎΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠ΅Π³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΡΡΠ³Π»ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ Π΄Π»Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠ°.
if (EXPR) BLOCK β ΠΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ EXPR ΠΈ Π΅ΡΠ»ΠΈ true Π±Π»ΠΎΠΊ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ.
ΠΡΠΈΠΌΠ΅Ρ:
$var =1;
if ($var == 1)
{ print $var,"\n";
}
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ: 1
if (EXPR) BLOCKelseBLOCK2 β ΠΡΠ»ΠΈ EXPR=true Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ BLOCK ΠΈΠ½Π°ΡΠ΅ BLOCK2.
ΠΡΠΈΠΌΠ΅Ρ:
$var =2;
if ($var == 1)
{ print Β«\$var = 1\nΒ»;
}
else
{ print Β«\$var Π½Π΅ ΡΠ°Π²Π½ΠΎ 1\nΒ»;
}
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ: $var Π½Π΅ ΡΠ°Π²Π½ΠΎ 1
if (EXPR1) BLOCK1 elsif (EXPR2) BLOCK2 ... else BLOCK β ΠΡΠ»ΠΈ EXPR1=true Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ BLOCK1 ΠΈΠ½Π°ΡΠ΅ Π΅ΡΠ»ΠΈ EXPR2=true Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ BLOCK2 ΠΈΠ½Π°ΡΠ΅ ... ΠΈΠ½Π°ΡΠ΅ BLOCK.