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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π―Π·Ρ‹ΠΊ программирования PerlΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 2

Автор ΠœΠΈΡ…Π°ΠΈΠ» Π¨ΠΎΡ…ΠΈΡ€Π΅Π²

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ смыслового подчСркивания Π² СстСствСнных языках слуТит для привлСчСния внимания ΠΊ Π²Π°ΠΆΠ½ΠΎΠΉ части высказывания. ΠŸΡ€ΠΈ этом выдСляСмая Ρ‡Π°ΡΡ‚ΡŒ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ставится Π² Π½Π°Ρ‡Π°Π»ΠΎ прСдлоТСния. Π’ Perl программист ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ этим ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠΌ для акцСнтирования смысла, Π²Ρ‹Π±Ρ€Π°Π² простоС ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ ΠΈΠ»ΠΈ ΡƒΡΠ»ΠΎΠ²Π½ΡƒΡŽ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:


$we->shall(do($it)) if $you->want($it); # ΠΈΠ»ΠΈ if $you->want($it) { $we->shall(do($it)) }


ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ свободы Π² СстСствСнных языках ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ всСгда Π΅ΡΡ‚ΡŒ нСсколько Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² выраТСния ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ мысли. Как ΠΈ Π² СстСствСнных языках, Π² Perl ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ нСсколькими способами, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ срСдства языка. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ TIMTOWTDI- сокращСниС читаСтся "Π’ΠΈΠΌ Π’ΠΎΡƒΠ΄ΠΈ" ΠΈ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ΡΡ ΠΊΠ°ΠΊ "There is more than one way to do it": "Π΅ΡΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ способа ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ". Π’ соотвСтствии с Π½ΠΈΠΌ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ Ρ‚ΠΎΡ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ языковой конструкции, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ большС ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ Π΅ΠΌΡƒ Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ситуации, большС соотвСтствуСт Π΅Π³ΠΎ ΡΡ‚ΠΈΠ»ΡŽ ΠΈΠ»ΠΈ ΡƒΡ€ΠΎΠ²Π½ΡŽ знания языка.

ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ строго Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ взгляду Π½Π° языки программирования, ΠΊΠΎΠ³Π΄Π° Π³Π»Π°Π²Π½Ρ‹ΠΌΠΈ цСлями Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ становятся ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ ΠΈ минимизация языковых конструкций. Но с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния психологии ΠΈ языкового ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΡ "лингвистичСский ΠΏΠΎΠ΄Ρ…ΠΎΠ΄" Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π΅Π½, ΠΊΠ°ΠΊ это Π½ΠΈ ΠΏΠ°Ρ€Π°Π΄ΠΎΠΊΡΠ°Π»ΡŒΠ½ΠΎ! Π’Π΅Π΄ΡŒ ΠΎΠ½ стимулируСт творчСство, привлСкая чСловСчСский ΠΎΠΏΡ‹Ρ‚ примСнСния СстСствСнного языка, - ΠΈ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Perl становится ΡƒΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈ интСрСсно. НавСрноС, поэтому ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π½Π° Perl Ρ‚Π°ΠΊ Π»ΡŽΠ±ΡΡ‚ словСчко "fun" (вСсСло, Π·Π°Π±Π°Π²Π½ΠΎ).

Π›Π°Ρ€Ρ€ΠΈ Π½Π΅ Ρ€Π°Π· повторял, Ρ‡Ρ‚ΠΎ Perl задумывался ΠΊΠ°ΠΊ язык, ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‰ΠΈΠΉ постоянноС Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² процСссС Π΅Π³ΠΎ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠ°ΠΊ ΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠΈ "чСловСчСских" языков, ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… языков программирования Π±Ρ‹Π»ΠΎ позаимствовано всС Π»ΡƒΡ‡ΡˆΠ΅Π΅, ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½ΠΎΠ΅ ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ΅ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. На становлСниС Perl повлияли языки Ada, Basic, Fortran, Lisp, Pascal ΠΈ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, язык C. Perl Π²ΠΏΠΈΡ‚Π°Π» Π² сСбя Ρ€Π°Π·Π½Ρ‹Π΅ тСчСния ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Π½Π°ΡƒΠΊΠΈ: ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠ΅, ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ΅, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΌΠ°ΠΊΡ€ΠΎΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ тСкста, Π° ΠΊΡ€ΠΎΠΌΠ΅ этого - ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€Ρƒ ОБ Unix, с Π΅Π΅ Π±ΠΎΠ³Π°Ρ‚Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚, стройной ΠΏΡ€ΠΎΠ΄ΡƒΠΌΠ°Π½Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ ΠΈ ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ ΠΊ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ….

Π Π΅ΡˆΠ°ΡŽΡ‰Π΅Π΅ влияниС Π½Π° Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ языка Perl ΠΎΠΊΠ°Π·Π°Π»Π° срСда Unix, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ разрабатывался. Π‘ самого Π½Π°Ρ‡Π°Π»Π° эта опСрационная систСма создавалась нСбольшой Π³Ρ€ΡƒΠΏΠΏΠΎΠΉ программистов для самих сСбя. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹, Π·Π°Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Π² Π½Π΅ΠΉ, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π½Π° удобство повсСднСвного примСнСния Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ: всС дСлалось максимально Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ, ΠΊΡ€Π°Ρ‚ΠΊΠΎ, Π΅Π΄ΠΈΠ½ΠΎΠΎΠ±Ρ€Π°Π·Π½ΠΎ. НапримСр, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ систСмных настроСк хранится Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ тСкстовом Π²ΠΈΠ΄Π΅, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΈΡ… ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ ΠΈΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, Π²ΠΎΠΎΡ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΉ простым тСкстовым Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ. (ΠŸΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, Ρ‡Ρ‚ΠΎ это Π±Ρ‹Π»ΠΎ сдСлано Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π°, ΠΊΠΎΠ³Π΄Π° памяти Π±Ρ‹Π»ΠΎ Ρ‚Π°ΠΊ ΠΌΠ°Π»ΠΎ, Ρ‡Ρ‚ΠΎ ΡΡ‚Π°Ρ€Π°Π»ΠΈΡΡŒ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ Π΄Π°ΠΆΠ΅ Π±ΠΈΡ‚Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…!)

Для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Π·Π½Π°ΠΊΠΎΠΌ с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой Unix, этот ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΌ. Но ΠΌΠ½ΠΎΠ³ΠΈΠΌ программистам, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌ с MS-DOS ΠΈ Windows, Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌΠΈ программирования, основанного Π½Π° ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… срСдствах (software tools), ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π·Π°Ρ€ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΠΈ Ρ€Π°Π·Π²ΠΈΠ²Π°Π»ΠΎΡΡŒ вмСстС с ОБ Unix. О Π½ΠΈΡ… написали Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ извСстныС программисты Π‘Ρ€Π°ΠΉΠ°Π½ ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½ (Brian W. Kernighan) ΠΈ Π€ΠΈΠ»ΠΈΠΏ ΠŸΠ»ΠΎΠ΄ΠΆΠ΅Ρ€ (Philip Plauger). Π’ΠΎΡ‚ основныС полоТСния этого ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°.

1Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ нСбольшого Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… выполняСт ΠΎΠ΄Π½Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Ρ€Π΅ΡˆΠ°Π΅ΠΌΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ.

2ΠŸΠΎΡΡ‚Π°Π²Π»Π΅Π½Π½Π°Ρ Π·Π°Π΄Π°Ρ‡Π° Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ ΠΏΡƒΡ‚Π΅ΠΌ взаимодСйствия Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π·Π° счСт ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Π½ΠΈΡ….

3ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ этих Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ слСдуСт ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° ΠΈΡ… максимально нСзависимоС использованиС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π·Π°Π΄Π°Ρ‡. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, постСпСнно ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ срСдства (ИБ) для дальнСйшСго ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ примСнСния.

4Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… срСдств Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… ΠΈΠ· сСбя Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‡ΠΈΡ‚Π°ΡŽΡ‚ ΠΏΠΎΡ‚ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· стандартного Π²Π²ΠΎΠ΄Π° ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² стандартный Π²Ρ‹Π²ΠΎΠ΄.

5ОбъСдинСниС ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… срСдств Π² прилоТСния производится срСдствами ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ языка ОБ: ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°, созданиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ΠΎΠ² (Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π²Ρ…ΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΎΠΉ).

6ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… для ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… срСдств Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ тСкстовыС Ρ„Π°ΠΉΠ»Ρ‹, ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ подходящиС для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ чтСния ΠΈΡ… Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ.

7Для эффСктивной ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ слабо структурированной тСкстовой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ рСгулярныС выраТСния (срСдства поиска ΠΏΠΎ шаблонам, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π΅Ρ‡ΡŒ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Π² Π»Π΅ΠΊΡ†ΠΈΠΈ 8).

Π­Ρ‚ΠΈ нСслоТныС ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ ΠΎΡΠΎΠ±Π΅Π½Π½ΡƒΡŽ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π³ΠΈΠ±ΠΊΠΈΠ΅ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ срСдства, Π»Π΅Π³ΠΊΠΎ настраиваСмыС ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ ΠΊΡ€ΡƒΠ³ Π·Π°Π΄Π°Ρ‡. ΠŸΡ€ΠΈ этом ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ срСдства часто ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ Π² Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ, ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π½Π΅ прСдусмотрСнныС Π°Π²Ρ‚ΠΎΡ€Π°ΠΌΠΈ ΠΏΡ€ΠΈ ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅. Π­Ρ‚ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, Π΄Π°Π²Π½ΠΎ ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎ примСняСмый срСди ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… Π² срСдС ОБ Unix. ВмСсто ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΎΠ΄Π½ΠΎΠΉ слоТной ΠΌΠ½ΠΎΠ³ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, максимально ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Π΅ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ - ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ срСдства. ΠŸΡ€ΠΈ нСобходимости ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ быстро ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ нСсколько Π½Π΅Π΄ΠΎΡΡ‚Π°ΡŽΡ‰ΠΈΡ… ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… срСдств (нСстандартный Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ Π²Π²ΠΎΠ΄, Π½Π΅ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΎΡ‚Ρ‡Π΅Ρ‚), Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Ρ‹Ρ… для дальнСйшСго примСнСния. Perl Ρ€Π°Π·Π²ΠΈΠ» идСю ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… срСдств, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΈΡ… Unix-ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ Π±Ρ‹Π»Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² конструкциях языка, Π° сам Perl стал ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ срСдством для "склСивания" Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² большиС систСмы. Воспитанный Π½Π° идСях Unix, Π›Π°Ρ€Ρ€ΠΈ Π£ΠΎΠ»Π» сказал ΠΏΡ€ΠΎ своС Π΄Π΅Ρ‚ΠΈΡ‰Π΅: "Perl - это пСрСносимая концСнтрация ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€Ρ‹ Unix, оазис срСди пустыни..."

Π’ языкС Perl ΠΊ идСям Unix добавились достиТСния Π΄Ρ€ΡƒΠ³ΠΈΡ… языков программирования, ΠΈ всС это Π±Ρ‹Π»ΠΎ ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚Π°Π½ΠΎ Π² соотвСтствии с лингвистичСскими ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌΠΈ ΠΈ трСбованиями практичСского примСнСния языка. ПолоТСния философии языка Perl Π±Ρ‹Π»ΠΈ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Ρ‹ Π›Π°Ρ€Ρ€ΠΈ Π£ΠΎΠ»Π»ΠΎΠΌ Π² Π΅Π³ΠΎ Π·Π½Π°ΠΌΠ΅Π½ΠΈΡ‚ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ "ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Perl" ΠΈ Π²ΠΎ мноТСствС статСй ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŒΡŽ. Они часто Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² Ρ„ΠΎΡ€ΠΌΡƒ изящных ΠΈ остроумных Π°Ρ„ΠΎΡ€ΠΈΠ·ΠΌΠΎΠ². Один ΠΈΠ· Π½ΠΈΡ… гласит: "Perl Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π»Π΅Π³ΠΊΠΎ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ простыС Π·Π°Π΄Π°Ρ‡ΠΈ, Π° Ρ‚Ρ€ΡƒΠ΄Π½Ρ‹Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌΠΈ". А эмблСмой Perl стал Π²Π΅Ρ€Π±Π»ΡŽΠ΄ - домашнСС ΠΆΠΈΠ²ΠΎΡ‚Π½ΠΎΠ΅, Π½Π΅ Π±Π»ΠΈΡΡ‚Π°ΡŽΡ‰Π΅Π΅ красотой ΠΈ изящСством, Π½ΠΎ ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰Π΅Π΅ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ способностями для выполнСния Ρ‚Ρ€ΡƒΠ΄Π½ΠΎΠΉ, каТущСйся Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ, Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΡΠΊΡΡ‚Ρ€Π΅ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… условиях.

Perl создавался ΠΊΠ°ΠΊ ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½Ρ‹ΠΉ язык, Π° какая ΠΆΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ Π±Π΅Π· быстроты? ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Perl Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ высокой ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ выполнСния ΠΈ ΠΏΠΎ Π±Ρ‹ΡΡ‚Ρ€ΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ сравнимы с ΠΎΡ‚ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ Unix-ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°ΠΌΠΈ. Быстрота Ρ€Π°Π±ΠΎΡ‚Ρ‹ достигаСтся Π·Π° счСт Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡŽΡ‰Π°Ρ систСма Perl Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ исходный тСкст Perl-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ "Π½Π° Π»Π΅Ρ‚Ρƒ", Π·Π°Ρ‚Π΅ΠΌ сразу ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΡ‚ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Говоря ΠΎΠ± этой ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΈΡΠΏΠΎΠ»Π½ΡΡŽΡ‰Π΅ΠΉ систСмС, ΡΠΎΡ‡Π΅Ρ‚Π°ΡŽΡ‰Π΅ΠΉ Π² сСбС компилятор ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€, принято Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π΅Π΅ perl (строчными Π±ΡƒΠΊΠ²Π°ΠΌΠΈ, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ языка программирования Perl).

Π›Π°Ρ€Ρ€ΠΈ Π£ΠΎΠ»Π» Π² ΡˆΡƒΡ‚ΠΊΡƒ (Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ, ΠΊΠ°ΠΊ водится, Π΅ΡΡ‚ΡŒ нСмалая доля истины) провозгласил Ρ‚Ρ€ΠΈ Π³Π»Π°Π²Π½Ρ‹Ρ… Π΄ΠΎΠ±Ρ€ΠΎΠ΄Π΅Ρ‚Π΅Π»ΠΈ программиста: лСнь, Π½Π΅Ρ‚Π΅Ρ€ΠΏΠ΅Π½ΠΈΠ΅, самомнСниС (laziness, impatience, hubris). И Perl спроСктирован Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ этим качСствам Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. "Π›Π΅Π½ΠΈΠ²Ρ‹ΠΉ" программист, часто ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ максимально ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎ ΠΈ быстро, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² Perl Π΅ΡΡ‚ΡŒ мноТСство способов ΠΊΡ€Π°Ρ‚ΠΊΠΎ ΠΈ просто Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ довольно слоТныС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Π»ΡŽΠ±Ρ‹Π΅ символы Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ, Ссли ΠΈΡ… отсутствиС Π½Π΅ мСняСт смысла ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. НапримСр, ΠΎΠ±Ρ‹Ρ‡Π½ΡƒΡŽ ΡƒΡΠ»ΠΎΠ²Π½ΡƒΡŽ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ


if ($x > 0) { print($y / $x); }


ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ ΠΏΠΎ-Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ - Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² ΠΈ скобок, пСрСмСстив условиС Π² ΠΊΠΎΠ½Π΅Ρ† ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°:


print$y/$x if$x>0;


Часто внСшниС ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π²Π° ΠΏΠΎΠ±ΡƒΠΆΠ΄Π°ΡŽΡ‚ нас ΠΊ Π±Ρ‹ΡΡ‚Ρ€Π΅ΠΉΡˆΠ΅ΠΌΡƒ Π΄ΠΎΡΡ‚ΠΈΠΆΠ΅Π½ΠΈΡŽ Ρ†Π΅Π»ΠΈ. Но ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° Perl Ρ‚Π΅Ρ€ΠΏΠ΅Π½ΠΈΠ΅ программиста подвСргаСтся ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΈΡΠΏΡ‹Ρ‚Π°Π½ΠΈΡŽ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Perl-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° запускаСтся Π±Π΅Π· ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ компиляции ΠΈ выполняСтся ΠΎΡ‡Π΅Π½ΡŒ быстро. И Π½Π°ΠΊΠΎΠ½Π΅Ρ†, систСма программирования Perl ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ Π½Π°Π±ΠΎΡ€ срСдств, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ самыС Π°ΠΌΠ±ΠΈΡ†ΠΈΠΎΠ·Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ любого программиста, Π΄Π°ΠΆΠ΅ с Π³ΠΈΠΏΠ΅Ρ€Ρ‚Ρ€ΠΎΡ„ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ самомнСниСм.

Π“ΡƒΠΌΠ°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹, Π·Π°Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Π² язык Perl, Π½Π°Ρ†Π΅Π»Π΅Π½Ρ‹ Π½Π° созданиС ΠΊΠΎΠΌΡ„ΠΎΡ€Ρ‚Π½ΠΎΠΉ обстановки ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΊΠ°ΠΊ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°, Ρ‚Π°ΠΊ ΠΈ для ΠΎΠΏΡ‹Ρ‚Π½ΠΎΠ³ΠΎ программиста. Одним ΠΈΠ· Π½ΠΈΡ… стал ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ DWIM (Do What I Mean - "Π΄Π΅Π»Π°ΠΉ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ я имСю Π² Π²ΠΈΠ΄Ρƒ"), Π² соотвСтствии с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв ΠΈΡΠΏΠΎΠ»Π½ΡΡŽΡ‰Π°Ρ систСма Perl обСспСчиваСт ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ оТидания Π°Π²Ρ‚ΠΎΡ€Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΡƒΡ‚ΠΎΡ‡Π½Π΅Π½ΠΈΠΉ с Π΅Π³ΠΎ стороны.