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

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

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

Автор: Π¨ΠΎΡ…ΠΈΡ€Π΅Π² ΠœΠΈΡ…Π°ΠΈΠ» Π’Π°ΡΠΈΠ»ΡŒΠ΅Π²ΠΈΡ‡


НазваниС: Π―Π·Ρ‹ΠΊ программирования Perl


Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

  ЛСкция 1. Π˜ΡΡ‚ΠΎΡ€ΠΈΡ развития Perl

  ЛСкция 2. Π›ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ ΠΈ скалярныС Π΄Π°Π½Π½Ρ‹Π΅

  ЛСкция 3. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

  ЛСкция 4. Π£ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ структуры

  ЛСкция 5. Бписки ΠΈ массивы

  ЛСкция 6. Π₯эши

  ЛСкция 7. ВСкст, строки ΠΈ символы

  ЛСкция 8. РСгулярныС выраТСния

  ЛСкция 9. БрСдства Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°

  ЛСкция 10. ΠžΡ‚Ρ‡Π΅Ρ‚Ρ‹

  ЛСкция 11. Бсылки

  ЛСкция 12. ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

  ЛСкция 13. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ

  ЛСкция 14. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

  ЛСкция 15. Π Π°Π±ΠΎΡ‚Π° с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…

  ЛСкция 16. ВзаимодСйствиС процСссов

  ЛСкция 17. Π Π°Π±ΠΎΡ‚Π° Π² IP-сСтях

  ЛСкция 18. Web-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

ДополнСния

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎΠ± ΠΈΠ·Π΄Π°Π½ΠΈΠΈ

Π¨ΠΎΡ…ΠΈΡ€Π΅Π² М.Π’., Π―Π·Ρ‹ΠΊ программирования Perl 5, Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-унивСрситСт ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ - ИНВУИВ.Ρ€Ρƒ, M., 2006, 5-94774-604-2, ΠžΡΠ½ΠΎΠ²Ρ‹ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ

ЛСкция 1. Π˜ΡΡ‚ΠΎΡ€ΠΈΡ развития Perl

Π’ этой Π»Π΅ΠΊΡ†ΠΈΠΈ излагаСтся история развития языка программирования Perl, Π½Π° особСнности ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ сильно повлияла Π»ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ создатСля языка - Π›Π°Ρ€Ρ€ΠΈ Π£ΠΎΠ»Π»Π°. ΠžΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ΡΡ лингвистичСская основа языка Perl ΠΈ Π΅Π³ΠΎ тСсная связь с философиСй Unix. РассказываСтся ΠΎΠ± ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€Π΅ Perl, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰Π΅ΠΉ сообщСство Perl-программистов. Π”Π°Π»Π΅Π΅ говорится ΠΎ сфСрах примСнСния Perl ΠΈ рассказываСтся ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½ΠΎΠ²ΠΎΠΉ, 6-ΠΉ вСрсии языка Perl. Π’Π°ΠΊΠΆΠ΅ Π΄Π°ΡŽΡ‚ΡΡ ΠΊΡ€Π°Ρ‚ΠΊΠΈΠ΅ свСдСния ΠΎΠ± установкС Perl ΠΏΠΎΠ΄ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ систСмами.

ЦСль Π»Π΅ΠΊΡ†ΠΈΠΈ: ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с историСй создания языка Perl, ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹, Π»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ Π² Π΅Π³ΠΎ основС, ΠΈ источники Π΅Π³ΠΎ особСнностСй. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ свСдСния, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для установки систСмы программирования Perl.

Π―Π·Ρ‹ΠΊ программирования Perl создал амСриканский программист Π›Π°Ρ€Ρ€ΠΈ Π£ΠΎΠ»Π» (Larry Wall) Π² 1987 Π³ΠΎΠ΄Ρƒ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π» систСмным программистом Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Unisys. Π¦Π΅Π»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ прСслСдовал Π›Π°Ρ€Ρ€ΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ языка программирования, ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½Ρ‹ Π² Π΅Π³ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠΈ - PERL, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠ·Π΄Π½Π΅Π΅ стало Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ Practical Extraction and Report Language, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ "практичСский язык извлСчСния "Π΄Π°Π½Π½Ρ‹Ρ…" ΠΈ "создания" ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ²". (НСтрудно Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π±ΡƒΠΊΠ²Ρ‹ всСх слов названия ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ слово PEARL - "ΠΆΠ΅ΠΌΡ‡ΡƒΠ³". Одна ΠΈΠ· Π»Π΅Π³Π΅Π½Π΄ ΠΎ происхоТдСнии Perl гласит, Ρ‡Ρ‚ΠΎ Π² Ρ‚ΠΎ врСмя ΡƒΠΆΠ΅ сущСствовал язык с Ρ‚Π°ΠΊΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ, поэтому Π›Π°Ρ€Ρ€ΠΈ сократил Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π½Π° ΠΎΠ΄Π½Ρƒ Π±ΡƒΠΊΠ²Ρƒ, Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² ΠΏΡ€ΠΎΠΈΠ·Π½ΠΎΡˆΠ΅Π½ΠΈΡ. По ΠΈΡ€ΠΎΠ½ΠΈΠΈ ΡΡƒΠ΄ΡŒΠ±Ρ‹, сСгодня Ρ‚ΠΎΡ‚ язык Π½Π΅ ΠΏΠΎΠΌΠ½ΠΈΡ‚ Π½ΠΈΠΊΡ‚ΠΎ, ΠΊΡ€ΠΎΠΌΠ΅ историков, Π° Perl извСстСн всСму ΠΌΠΈΡ€Ρƒ. Π₯отя, ΠΏΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ вСрсии, Π›Π°Ρ€Ρ€ΠΈ Π½Π°Π·Π²Π°Π» созданный ΠΈΠΌ язык ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ своСй нСвСсты.

Рис. 1.1.  Π‘ΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ языка Perl - Π›Π°Ρ€Ρ€ΠΈ Π£ΠΎΠ»Π»

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ 18 дСкабря 1987 Π³ΠΎΠ΄Π° Π±Ρ‹Π»Π° Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π° 1-я вСрсия языка Perl, ΠΎΠ½ быстро распространился срСди ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ сСти Usenet. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС (ОБ) Unix, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±Ρ‹Π» создан Perl, ΡƒΠΆΠ΅ имСлись многочислСнныС ΠΈ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Π΅ срСдства для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ тСкстовой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ (awk, csh, grep, sed ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅), Π½ΠΎΠ²Ρ‹ΠΉ язык полюбился ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠΌΡƒ числу систСмных администраторов ΠΈ программистов. Он Π±Ρ‹Π» Π»Π΅Π³ΠΎΠΊ Π² ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ: синтаксис ΠΏΠΎΡ…ΠΎΠΆ Π½Π° Π‘, Perl-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, исходныС тСксты Π±Ρ‹Π»ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. А самоС Π³Π»Π°Π²Π½ΠΎΠ΅ - это Π±Ρ‹Π» Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½Ρ‹ΠΉ язык: с Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π»Π΅Π³ΠΊΠΎ Ρ€Π΅ΡˆΠ°Π»ΠΎΡΡŒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ повсСднСвных Π·Π°Π΄Π°Ρ‡ - ΠΎΡ‚ самых простых Π΄ΠΎ ΠΎΡ‡Π΅Π½ΡŒ слоТных. Активно ΠΏΠΎΠ»ΡŒΠ·ΡƒΡΡΡŒ языком Perl, программисты ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… стран направляли Π›Π°Ρ€Ρ€ΠΈ Π£ΠΎΠ»Π»Ρƒ прСдлоТСния Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Π½Π΅Π³ΠΎ Π½ΠΎΠ²Ρ‹Π΅ возмоТности ΠΈΠ»ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ΡΡ. ΠŸΠΎΡΡ‚Π΅ΠΏΠ΅Π½Π½ΠΎ Perl прСвратился ΠΈΠ· срСдства ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ тСкстов Π² срСдС Unix Π² ΠΌΠΎΡ‰Π½ΡƒΡŽ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΡƒΡŽ систСму программирования. Π’ сСрСдинС 1990-Ρ… Π³ΠΎΠ΄ΠΎΠ² послС побСдоносного распространСния WWW (World Wide Web) Perl стал ΠΈΠ·Π»ΡŽΠ±Π»Π΅Π½Π½Ρ‹ΠΌ инструмСнтом web-мастСров для создания динамичСских сайтов ΠΈ Internet-программирования. Благодаря своим ΠΌΠΎΡ‰Π½Ρ‹ΠΌ встроСнным срСдствам Ρ€Π°Π±ΠΎΡ‚Ρ‹ с тСкстовыми Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Perl ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ… HTML ΠΈ XML. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Perl стал ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ языком для быстрого создания ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΎΠ² слоТных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Ρ‚Π΅ΠΌ Π½Π΅Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅.

О Π΅Π³ΠΎ успСхС ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌ ΠΏΡ€ΠΈΠ·Π½Π°Π½ΠΈΠΈ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ Perl стал Π½Π΅ΠΏΡ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ любой поставки ОБ сСмСйства Unix (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, FreeBSD, Linux ΠΈΠ»ΠΈ Solaris). ΠšΡ€ΠΎΠΌΠ΅ этого, ΠΊ настоящСму Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Perl Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ практичСски для всСх соврСмСнных Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ (ΡΡƒΠΏΠ΅Ρ€ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹, RISC, Macintosh, PC, Π½Π°Π»Π°Π΄ΠΎΠ½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ ΠΈ Ρ‚. Π΄.) ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм (AIX, Linux, MacOS, MS-DOS, NetWare, OS/2, QNX, Solaris, Windows, VMS - всСх Π½Π΅ ΠΏΠ΅Ρ€Π΅Ρ‡Π΅ΡΡ‚ΡŒ!). Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ΡŒ популярныС Perl-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ окруТСния Π² Π΄Ρ€ΡƒΠ³ΠΎΠ΅. (К слову ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊ этому курсу Π»Π΅ΠΊΡ†ΠΈΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΠ»ΠΈΡΡŒ ΠΏΠΎΠ΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ систСмами SuSE Linux 10.0, MS Windows XP Professional SP2, ΠΈ MS Pocket PC 2003 Premium Edition v. 4.20). НСсомнСнно, Π΅Π³ΠΎ ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌΡƒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡŽ способствовало ΠΈ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ распространяСтся бСсплатно Π½Π° условиях ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΉ: Π»ΠΈΠ±ΠΎ GNU General Public License (GPL), Π»ΠΈΠ±ΠΎ Artistic License - Π½Π° Π²Ρ‹Π±ΠΎΡ€. Но Π³Π»Π°Π²Π½ΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π² Π½Π΅ΠΌ Π΅ΡΡ‚ΡŒ всС срСдства, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ Π²Ρ‹Ρ€ΡƒΡ‡Π°Ρ‚ΡŒ профСссионалов ΠΈ Π½Π΅ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Ρ… программистов, ΠΊΠΎΠ³Π΄Π° трСбуСтся быстро Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ систСмныС ΠΈ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ - ΠΎΡ‚ самых простых Π΄ΠΎ вСсьма слоТных. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Perl стал ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· самых ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² двиТСния open source (с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ исходными ΠΊΠΎΠ΄Π°ΠΌΠΈ) - наряду с Apache, Linux, PHP ΠΈ Python.

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

Π’ΠΎ врСмя обучСния Π² унивСрситСтС Π›Π°Ρ€Ρ€ΠΈ Π£ΠΎΠ»Π» ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠ΅, Π½ΠΎ ΠΈ лингвистичСскоС (Π° Ρ‚Π°ΠΊΠΆΠ΅ химичСскоС ΠΈ ΠΌΡƒΠ·Ρ‹ΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅) ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΈ это, нСсомнСнно, сильно повлияло Π½Π° особСнности языка Perl. (Воспитанный Π² Ρ€Π΅Π»ΠΈΠ³ΠΈΠΎΠ·Π½ΠΎΠΉ сСмьС, ΠΌΠΎΠ»ΠΎΠ΄ΠΎΠΉ Π›Π°Ρ€Ρ€ΠΈ Π΄Π°ΠΆΠ΅ собирался ΡΡ‚Π°Ρ‚ΡŒ миссионСром ΠΈ ΠΏΠΎΡΠ²ΡΡ‚ΠΈΡ‚ΡŒ свою Тизнь ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΡŽ Π² христианство Ρ‚ΡƒΠ·Π΅ΠΌΡ†Π΅Π², ΠΏΡ€ΠΈ нСобходимости создавая для Ρ‚ΡƒΠ·Π΅ΠΌΠ½Ρ‹Ρ… языков ΠΏΠΈΡΡŒΠΌΠ΅Π½Π½ΠΎΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ пСрСвСсти Π½Π° Π½ΠΈΡ… Π‘ΠΈΠ±Π»ΠΈΡŽ!) Рассказывая ΠΎΠ± истоках Perl, Π›Π°Ρ€Ρ€ΠΈ Π£ΠΎΠ»Π» ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠ» схСму, Π²ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π½ΡƒΡŽ Π½Π° рис. 1.2, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, Ρ‡Ρ‚ΠΎ Perl появился Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ слияния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ…, Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ взгляд, нСсовмСстимых ΠΈΠ΄Π΅ΠΉ ΠΈ дисциплин.

Рис. 1.2.  Π€Π°ΠΊΡ‚ΠΎΡ€Ρ‹, повлиявшиС Π½Π° созданиС Perl

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

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

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