Π ΡΡΠΎΠΉ Π»Π΅ΠΊΡΠΈΠΈ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ Π² ΡΠ·ΡΠΊΠ΅ Perl: ΡΠΊΠ°Π»ΡΡΠΎΠ², ΡΠΏΠΈΡΠΊΠΎΠ² ΠΈ Ρ ΡΡΠ΅ΠΉ. Π ΡΠ°Π±Π»ΠΈΡΠ΅ 6.1 Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΡ ΠΈ ΡΠΎΡΠΌΠ°ΡΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΡΠΊΠ°Π»ΡΡΠ½ΡΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ, ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΠΈ Ρ ΡΡΠ΅ΠΉ ΠΈ ΠΈΡ ΡΡΠ΅Π·Π°ΠΌ.
Π’Π°Π±Π»ΠΈΡΠ° 6.1. Π€ΠΎΡΠΌΠ°ΡΡ Π·Π°ΠΏΠΈΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΠΎΠ½ΡΡΡΡΠΊΡΠΈΡΠ₯ΡΠ°Π½ΠΈΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΠΎΠ½ΡΠ΅ΠΊΡΡ (Π² Π»Π΅Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ)@variableΡΠΏΠΈΡΠΎΠΊΠ²Π΅ΡΡ ΠΌΠ°ΡΡΠΈΠ² @variableΡΠΏΠΈΡΠΎΡΠ½ΡΠΉ%variableΡ ΡΡΠ²Π΅ΡΡ Ρ ΡΡ %variableΡΠΏΠΈΡΠΎΡΠ½ΡΠΉ$variableΡΠΊΠ°Π»ΡΡΠΏΡΠΎΡΡΠΎ ΡΠΊΠ°Π»ΡΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°ΡΡΠΊΠ°Π»ΡΡΠ½ΡΠΉ$variable[$index]ΡΠΊΠ°Π»ΡΡΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Π° @variable, Π·Π°Π΄Π°Π½Π½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ $indexΡΠΊΠ°Π»ΡΡΠ½ΡΠΉ@variable[@list]ΡΠΏΠΈΡΠΎΠΊΡΡΠ΅Π· ΠΌΠ°ΡΡΠΈΠ²Π° @variable, Π·Π°Π΄Π°Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΊΠΎΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² @listΡΠΏΠΈΡΠΎΡΠ½ΡΠΉ@variable[$index]ΡΠΏΠΈΡΠΎΠΊ (ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°)ΡΡΠ΅Π· ΠΌΠ°ΡΡΠΈΠ²Π° @variable, Π·Π°Π΄Π°Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΊΠΎΠΌ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ° $indexΡΠΏΠΈΡΠΎΡΠ½ΡΠΉ$variable{$key}ΡΠΊΠ°Π»ΡΡΡΠ»Π΅ΠΌΠ΅Π½Ρ Ρ ΡΡΠ° %variableΡΠΊΠ°Π»ΡΡΠ½ΡΠΉ@variable{@list}ΡΠΏΠΈΡΠΎΠΊ (Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ)ΡΡΠ΅Π· Ρ ΡΡΠ° %variable, Π·Π°Π΄Π°Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΊΠΎΠΌ ΠΊΠ»ΡΡΠ΅ΠΉ @listΡΠΏΠΈΡΠΎΡΠ½ΡΠΉ@variable{$key}ΡΠΏΠΈΡΠΎΠΊ (ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ)ΡΡΠ΅Π· Ρ ΡΡΠ° %variable, Π·Π°Π΄Π°Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΊΠΎΠΌ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° $keyΡΠΏΠΈΡΠΎΡΠ½ΡΠΉ
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Ρ ΡΡΠ°Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ·Π½Π°ΡΡ ΠΈΠ· ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, ΠΎΠ±ΡΠ°ΡΠΈΠ²ΡΠΈΡΡ ΠΊ ΡΠ°Π·Π΄Π΅Π»Ρ ΠΎ ΡΠΈΠΏΠ°Ρ Π΄Π°Π½Π½ΡΡ :
perldoc perldata
Π₯ΡΡΠΈ - ΡΡΠΎ, Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅, ΡΠ°ΠΌΠ°Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π°Ρ ΡΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ ΠΏΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° Perl. ΠΠ΅Π· Π½ΠΈΡ Π½Π΅ ΠΎΠ±Ρ ΠΎΠ΄ΠΈΡΡΡ Π½ΠΈ ΠΎΠ΄Π½Π° ΡΠ΅ΡΡΠ΅Π·Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, Π²Π΅Π΄Ρ ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π΅Π»Π°Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΏΡΠΎΡΠ΅, Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ - ΠΏΠΎΠ½ΡΡΠ½Π΅Π΅. ΠΠ°ΡΠ΅ΡΠΈΠ°Π» ΡΡΠΎΠΉ Π»Π΅ΠΊΡΠΈΠΈ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΈ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Ρ ΡΡΠ°ΠΌΠΈ. ΠΡΠΎΠ±Π΅Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΠ΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π² Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°Ρ ΡΡΡΠ»ΠΎΠΊ Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ : ΠΌΠ°ΡΡΠΈΠ²Ρ, Ρ ΡΡΠΈ, ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ , ΠΎ ΡΠ΅ΠΌ Π±ΡΠ΄Π΅Ρ ΡΠΊΠ°Π·Π°Π½ΠΎ Π² Π»Π΅ΠΊΡΠΈΠΈ 11, ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΠΎΠΉ ΡΡΡΠ»ΠΊΠ°ΠΌ.
ΠΠ΅ΠΊΡΠΈΡ 7. Π’Π΅ΠΊΡΡ, ΡΡΡΠΎΠΊΠΈ ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Ρ
Π ΡΡΠΎΠΉ Π»Π΅ΠΊΡΠΈΠΈ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ, ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠΌΠΈ ΠΈ ΡΡΡΠΎΠΊΠΎΠ²ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΠ»Π°Π²ΠΈΡΡΡ ΡΠ·ΡΠΊ Perl, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΡΠ°ΠΌΡΡ ΠΏΠ΅ΡΠ²ΡΡ Π²Π΅ΡΡΠΈΠΉ.
Π¦Π΅Π»Ρ Π»Π΅ΠΊΡΠΈΠΈ: ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ³Π»ΡΠ±Π»Π΅Π½Π½ΡΠ΅ Π·Π½Π°Π½ΠΈΡ ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΡ ΠΈ ΡΡΡΠΎΠΊΠΎΠ²ΡΡ Π΄Π°Π½Π½ΡΡ Π² Perl ΠΈ ΠΎΡΠ²ΠΎΠΈΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΈΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ Ρ Π½ΠΈΠΌΠΈ Π΄Π»Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.
Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Perl, Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΠΏΠΎΠ»ΡΡΠΈΠ» ΡΠΈΡΠΎΠΊΡΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΡΡΡ ΠΊΠ°ΠΊ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ - ΡΠ΄ΠΎΠ±Π½ΠΎΠ΅, Π±ΡΡΡΡΠΎΠ΅, ΠΌΠΎΡΠ½ΠΎΠ΅, Π³ΠΈΠ±ΠΊΠΎΠ΅. ΠΠ°ΡΡΠΈ Π£ΠΎΠ»Π» ΡΠΎΠ·Π΄Π°Π» Perl, ΡΡΠΎΠ±Ρ ΠΎΠ±Π»Π΅Π³ΡΠΈΡΡ ΡΠ²ΠΎΡ ΠΆΠΈΠ·Π½Ρ, ΠΊΠΎΠ³Π΄Π° Π΅ΠΌΡ, ΠΌΠΎΠ»ΠΎΠ΄ΠΎΠΌΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ, ΠΏΡΠΈΡΠ»ΠΎΡΡ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ Π±ΠΎΠ»ΡΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΌΠΎΠ² Π΄Π°Π½Π½ΡΡ , ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ . Π£Π΄ΠΎΠ±ΡΡΠ²ΠΎ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ Π·Π°Π»ΠΎΠΆΠ΅Π½ΠΎ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΠΎ Π²ΡΠ΅Ρ ΡΠ·ΡΠΊΠΎΠ²ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡΡ : Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΡΠΎΠΊΠΎΠ²ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΡΠ΅Π» ΠΈ ΠΊΠ»ΡΡΠ΅ΠΉ Ρ ΡΡΠ° ΠΊ ΡΡΡΠΎΠΊΠ°ΠΌ. Π ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Perl Π²ΡΡΡΠΎΠ΅Π½Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ. ΠΠ°Π²Π΅ΡΠ½ΠΎΠ΅, ΡΠ°ΠΌΠΎΠ΅ ΠΌΠΎΡΠ½ΠΎΠ΅ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ - ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ - ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² ΡΠ΄ΡΠ΅ Perl. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ΅ΠΊΡΡΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°Ρ . ΠΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΊΠ»Π°ΡΡΠΎΠ² Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² ΠΌΠΎΠ΄ΡΠ»ΡΡ ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ CPAN.
Π’Π΅ΠΊΡΡΠΎΠ²Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² Perl-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π² ΡΠΊΠ°Π»ΡΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ . ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Perl Π½Π΅ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅Ρ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°, ΠΎΠ±ΡΡΠ½Π°Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ Π½Π° Perl - ΡΡΠΈΡΡΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΠ΅ΠΊΡΡΠ° ΠΈΠ· ΡΠ°ΠΉΠ»Π° Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»ΡΠΌΠΈ ΡΡΡΠΎΠΊ Π² ΠΎΠ΄Π½Ρ ΡΠΊΠ°Π»ΡΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΡΡΠΎΠ±Ρ Π·Π°ΡΠ΅ΠΌ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ Π΅Π³ΠΎ. ΠΠΎΡΡΠΎΠΌΡ Π² Perl ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, Π½Π°Π·ΡΠ²Π°ΡΡ "ΡΡΡΠΎΠΊΠΎΠ²ΡΠΌΠΈ" Π»ΠΈΡΡ Π΄Π»Ρ ΠΊΡΠ°ΡΠΊΠΎΡΡΠΈ, ΡΡΠΎΠ±Ρ Π½Π΅ Π³ΠΎΠ²ΠΎΡΠΈΡΡ "ΡΠΊΠ°Π»ΡΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ°Ρ ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅".
Π£ΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΠΈΠ· Π»Π΅ΠΊΡΠΈΠΈ 2 ΡΡΡΠΎΠΊΠΎΠ²ΡΠ΅ Π»ΠΈΡΠ΅ΡΠ°Π»Ρ, Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΠ΅ Π² Π°ΠΏΠΎΡΡΡΠΎΡΡ ΠΈ Π΄Π²ΠΎΠΉΠ½ΡΠ΅ ΠΊΠ°Π²ΡΡΠΊΠΈ, ΠΌΠΎΠ³ΡΡ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π² Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΎΠΉ ΡΠΎΡΠΌΠ΅:
'ΡΡΡΠΎΠΊΠ° Π² Π°ΠΏΠΎΡΡΡΠΎΡΠ°Ρ ' ΠΈΠ»ΠΈ q(ΡΡΡΠΎΠΊΠ° Π² Π°ΠΏΠΎΡΡΡΠΎΡΠ°Ρ ) "ΡΡΡΠΎΠΊΠ° Π² ΠΊΠ°Π²ΡΡΠΊΠ°Ρ " ΠΈΠ»ΠΈ qq(ΡΡΡΠΎΠΊΠ° Π² ΠΊΠ°Π²ΡΡΠΊΠ°Ρ )
ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ Π»ΠΈΡΠ΅ΡΠ°Π»ΡΠ½ΠΎΠΌΡ ΡΠΏΠΈΡΠΊΡ ΡΠ»ΠΎΠ² qw(), ΡΠΏΠΎΠΌΡΠ½ΡΡΠΎΠΌΡ Π² Π»Π΅ΠΊΡΠΈΠΈ Π»Π΅ΠΊΡΠΈΠΈ 5, ΡΡΡΠΎΠΊΠΎΠ²ΡΠ΅ Π»ΠΈΡΠ΅ΡΠ°Π»Ρ Π² ΡΡΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΡΡ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠΊΠΎΠ±ΠΊΠ°ΠΌΠΈ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π»ΡΠ±ΡΠΌΠΈ ΠΏΠ°ΡΠ½ΡΠΌΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ: (), {}, [] , <>, //, \\, !! ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅Π»Π΅ΠΉ ΡΡΡΠΎΠΊ ΡΠ°ΠΊΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΊΠ°ΠΊ &&, ||, %%, ##, '' ΠΈΠ»ΠΈ $$, Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ, Π½ΠΎ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΠΎΠΆΠ΅Ρ Π²Π²Π΅ΡΡΠΈ Π² Π·Π°Π±Π»ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΠΈΡΠ°ΡΠ΅Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠ°Π²ΠΈΠ»Π° ΠΈΠ½ΡΠ΅ΡΠΏΠΎΠ»ΡΡΠΈΠΈ Π΄Π΅ΠΉΡΡΠ²ΡΡΡ ΠΈ Π½Π° ΡΡΡ ΡΠΎΡΠΌΡ Π·Π°ΠΏΠΈΡΠΈ ΡΡΡΠΎΠΊΠΎΠ²ΡΡ Π»ΠΈΡΠ΅ΡΠ°Π»ΠΎΠ².
Π Perl Π΅ΡΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ, ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆΠΈΠ΅ Π½Π° Π»ΠΈΡΠ΅ΡΠ°Π»Ρ: ΡΡΠΎ ΡΡΡΠΎΠΊΠΈ, Π·Π°ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π² ΠΎΠ±ΡΠ°ΡΠ½ΡΠ΅ Π°ΠΏΠΎΡΡΡΠΎΡΡ (back-quotes, backticks) ``, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ ΡΠ°ΠΊΠΆΠ΅ Π΅ΡΡΡ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Π°Ρ Π·Π°ΠΏΠΈΡΡ Π² Π²ΠΈΠ΄Π΅ qx(). ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ ΡΠ°ΠΊΠΈΡ ΡΡΡΠΎΠΊ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠΉ Π²ΡΠ·ΠΎΠ² Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ Perl-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ qx(). ΠΡΠΈ ΡΡΠΎΠΌ Π² Π½Π΅ΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΠΎΠ»ΡΡΠΈΡ. Π’Π°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΡΠ΅Π΄Π΅ MS Windows ΠΈΠ»ΠΈ Linux Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ dir ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ MP3-ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π΅Π³ΠΎ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ:
$music_files = `dir *.mp3`; # ΠΈΠ»ΠΈ qx(dir \*.mp3)
Π’Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠ»ΡΠ³Π°ΠΌΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ΅Π΄Π°ΡΠΎΠΌ Perl ΡΠ°ΡΡΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ "ΡΠΊΠ»Π΅ΠΈΠ²Π°ΡΡΠΈΠΌ ΡΠ·ΡΠΊΠΎΠΌ" (glue language): Ρ ΠΏΠΎΠΌΠΎΡΡΡ Perl-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΠΈΠΌΠ΅ΡΡΠΈΠΌΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌ, ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΏΠΎ ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°. Π’Π°ΠΊ, ΡΠΏΠΎΠΌΡΠ½ΡΡΡΠΉ Π² Π»Π΅ΠΊΡΠΈΠΈ 1 ΠΏΡΠΈΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ-ΡΠΈΠ»ΡΡΡΠΎΠ² ΠΏΠΎΠ»ΡΡΠΈΠ» Π² Perl Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π΅ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅. ΠΡΡΠ³ΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π² Π»Π΅ΠΊΡΠΈΠΈ 16.
ΠΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΏ ΡΡΡΠΎΠΊΠΎΠ²ΡΡ Π»ΠΈΡΠ΅ΡΠ°Π»ΠΎΠ², Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ V-ΡΡΡΠΎΠΊΠΈ ("V-strings" - ΡΡΡΠΎΠΊΠΈ Π²Π΅ΡΡΠΈΠΉ), Ρ ΠΎΡΡ ΠΎΠ½ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌ ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ.
v1.20.300.4000 # ΡΠΎ ΠΆΠ΅, ΡΡΠΎ "\x{1}\x{14}\x{12c}\x{fa0}" v9786 # "ΡΠΌΠ°ΠΉΠ»ΠΈΠΊ" ? (ΡΠΈΠΌΠ²ΠΎΠ» Unicode \x{263A}) v79.107.33 # ΡΡΡΠΎΠΊΠ° 'Ok!' 79.107.33 # Π² Π»ΠΈΡΠ΅ΡΠ°Π»Π΅ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠΎΡΠΊΠ°ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π±Π΅Π· "v"
V-ΡΡΡΠΎΠΊΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ "Π½ΠΎΠΌΠ΅ΡΠΎΠ²" Π²Π΅ΡΡΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
$version = v5.8.7; print "ΠΠ΅ΡΡΠΈΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ\n" if $version ge v5.8.0;
V-ΡΡΡΠΎΠΊΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ ΡΠ΅ΡΠ΅Π²ΡΡ Π°Π΄ΡΠ΅ΡΠΎΠ² IPv4, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ: v127.0.0.1.
ΠΡΠΎΠΌΠ΅ escape-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠ΅ΠΉ, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π² Π»Π΅ΠΊΡΠΈΠΈ 2, Π² Perl Π΅ΡΡΡ ΠΎΡΠΎΠ±ΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠΌ Π»ΠΈΡΠ΅ΡΠ°Π»Π΅. ΠΠ½ΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ 7.1. Π‘ ΠΈΡ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ Π»ΠΈΠ±ΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΌΠ²ΠΎΠ», ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π·Π° escape-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ, Π»ΠΈΠ±ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π΄ΠΎ ΠΎΡΠΌΠ΅Π½ΡΡΡΠ΅ΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
Π’Π°Π±Π»ΠΈΡΠ° 7.1. ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΡΡΠΈΠ΅ escape-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈΠ£ΠΏΡΠ°Π²Π»ΡΡΡΠ°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡΠΠ½Π΅ΠΌΠΎΠ½ΠΈΠΊΠ° ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅\uUpper caseΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ΠΊ Π²Π΅ΡΡ Π½Π΅ΠΌΡ ΡΠ΅Π³ΠΈΡΡΡΡ\lLower caseΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ΠΊ Π½ΠΈΠΆΠ½Π΅ΠΌΡ ΡΠ΅Π³ΠΈΡΡΡΡ\UUpper caseΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π΄ΠΎ \E ΠΊ Π²Π΅ΡΡ Π½Π΅ΠΌΡ ΡΠ΅Π³ΠΈΡΡΡΡ\LLower caseΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π΄ΠΎ \E ΠΊ Π½ΠΈΠΆΠ½Π΅ΠΌΡ ΡΠ΅Π³ΠΈΡΡΡΡ\QQuoteΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π²ΠΏΠ»ΠΎΡΡ Π΄ΠΎ \E\EEndΠ·Π°Π²Π΅ΡΡΠΈΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ \U ΠΈΠ»ΠΈ \L ΠΈΠ»ΠΈ \Q
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΠΈΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΡΡΠΈΡ escape-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠ΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΈΠ»Π»ΡΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΊΠΈΠΌΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ:
use locale; # Π΄Π»Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΠΈΡΠΈΠ»Π»ΠΈΡΡ $name = 'ΠΌΠ°ΡΠΈΡ'; # Π±ΡΠ΄Π΅ΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ print "\u$name"; # Π±ΡΠ΄Π΅Ρ Π²ΡΠ²Π΅Π΄Π΅Π½ΠΎ: ΠΠ°ΡΠΈΡ print "\U$name\E"; # Π±ΡΠ΄Π΅Ρ Π²ΡΠ²Π΅Π΄Π΅Π½ΠΎ: ΠΠΠ ΠΠ― print "\Q$name\E"; # Π±ΡΠ΄Π΅Ρ Π²ΡΠ²Π΅Π΄Π΅Π½ΠΎ: \ΠΌ\Π°\Ρ\ΠΈ\Ρ