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

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

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

Установка Perl ΠΈΠ· Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ дистрибутива ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ прСдставляСт трудностСй ΠΈ сводится ΠΊ распаковкС Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ· Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Π°Ρ€Ρ…ΠΈΠ²Π°. Для удобства Ρ€Π°Π±ΠΎΡ‚Ρ‹ имя ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° с исполняСмыми Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ perl добавляСтся Π² систСмный список ΠΏΡƒΡ‚Π΅ΠΉ для поиска исполняСмых ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ (Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ окруТСния PATH). ΠžΠ±Ρ‹Ρ‡Π½ΠΎ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ дСйствия ΠΏΠΎ установкС выполняСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°-инсталлятор. ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ установки Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»Π½ΡΡŽΡ‰Π΅ΠΉ систСмы perl. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² Ρ‚Π°ΠΊΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ (Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅ Unix, Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅ Windows ΠΈΠ»ΠΈ Π² ΠΎΠΊΠ½Π΅ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° cmd Π½Π° Pocket PC):


perl -v


На экранС Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ сообщСния, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ Π²Π΅Ρ€ΡΠΈΡŽ языка ΠΈ авторскиС ΠΏΡ€Π°Π²Π°:


This is perl, v5.8.7 built for MSWin32-x86-multi-thread Copyright 1987-2005, Larry Wall Perl may be copied only under the terms of either the Artistic License or the GNU General Public License, which may be found in the Perl 5 source kit. Complete documentation for Perl, including FAQ lists, should be found on this system using `man perl' or `perldoc perl'. If you have access to the Internet, point your browser at http://www.perl.org/, the Perl Home Page.


Если Π²Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Π»ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ сообщСниС, Π·Π½Π°Ρ‡ΠΈΡ‚, Perl ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ установлСн ΠΈ Π³ΠΎΡ‚ΠΎΠ² ΠΊ использованию, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΆΠ΅ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΊ Π΅Π³ΠΎ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΡŽ. Π§Π΅ΠΌ ΠΌΡ‹ ΠΈ займСмся, начиная со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π»Π΅ΠΊΡ†ΠΈΠΈ.

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

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

ЦСль Π»Π΅ΠΊΡ†ΠΈΠΈ: ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»Π° записи элСмСнтарных элСмСнтов языка, Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ² ΠΈ скаляров, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ оформлСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° языкС Perl. ΠΠ°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с использованиСм однострочных ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° встроСнной Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ POD.

Perl - ΠΎΡ‡Π΅Π½ΡŒ ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½Ρ‹ΠΉ язык, ΠΈ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ основы довольно просто. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ синтаксичСских конструкций Perl основаны Π½Π° языкС Π‘, Ρ‚ΠΎ для программистов, Π·Π½Π°ΡŽΡ‰ΠΈΡ… языки C, C++, C#, Java, JavaScript, Python ΠΈΠ»ΠΈ PHP, синтаксис Perl Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ Π·Π½Π°ΠΊΠΎΠΌΡ‹ΠΌ. Но ΠΈ Ρ‚ΠΎΡ‚, ΠΊΡ‚ΠΎ Ρ€Π°Π½ΡŒΡˆΠ΅ писал Π½Π° языкС Pascal, Fortran ΠΈΠ»ΠΈ Basic, Π»Π΅Π³ΠΊΠΎ ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ½Π΅Ρ‚ ΠΊ Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ Perl. НСтрудно Π±ΡƒΠ΄Π΅Ρ‚ ΠΈ Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ‚ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ языка программирования, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Perl спроСктирован Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ смог Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° нСбольшом подмноТСствС языка, Π° Π·Π°Ρ‚Π΅ΠΌ постСпСнно углублялся Π² Π΅Π³ΠΎ тонкости. Знакомство с языком Perl ΠΌΡ‹ Π½Π°Ρ‡Π½Π΅ΠΌ с ΠΏΡ€Π°Π²ΠΈΠ» записи Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ² - нСпосрСдствСнного прСдставлСния Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ числа ΠΈ строки. Иногда Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ константами, ΠΏΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ‡Π°Ρ‰Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π² Π²ΠΈΠ΄Ρƒ ΠΈΠΌΠ΅Π½Π°, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ нСизмСняСмыС Π΄Π°Π½Π½Ρ‹Π΅.

РСдкая ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° обходится Π±Π΅Π· использования числовых Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ². Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½Π° Perl числа Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ самым СстСствСнным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Π’Π°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, выглядят дСсятичныС Ρ†Π΅Π»Ρ‹Π΅ числа, со Π·Π½Π°ΠΊΠ°ΠΌΠΈ ΠΈ Π±Π΅Π·:


12 -34 +56


Π‘Ρ‚ΠΎΠ»ΡŒ ΠΆΠ΅ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½ΠΎ выглядят ΠΈ дСсятичныС Π΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ числа, ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅. ЦСлая Ρ‡Π°ΡΡ‚ΡŒ ΠΏΠΎ англоязычной Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΈ отдСляСтся ΠΎΡ‚ Π΄Ρ€ΠΎΠ±Π½ΠΎΠΉ части дСсятичной Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ. ЦСлая ΠΈΠ»ΠΈ дробная Ρ‡Π°ΡΡ‚ΡŒ числа ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒΡΡ, Ссли ΠΎΠ½Π° Ρ€Π°Π²Π½Π° Π½ΡƒΠ»ΡŽ:


.12 34. -456.78 +9.0


Для удобства чтСния исходной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ большиС числа ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒΡΡ с символом подчСркивания "_" Π² качСствС раздСлитСля разрядов:


123_456 -7_890_098 1_000_000_000_000


ΠžΡ‡Π΅Π½ΡŒ малСнькиС ΠΈΠ»ΠΈ ΠΎΡ‡Π΅Π½ΡŒ большиС числовыС значСния, Ρ†Π΅Π»Ρ‹Π΅ ΠΈΠ»ΠΈ Π΄Ρ€ΠΎΠ±Π½Ρ‹Π΅, ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π² ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ (Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ "Π½Π°ΡƒΡ‡Π½ΠΎΠΉ" Π½ΠΎΡ‚Π°Ρ†ΠΈΠ΅ΠΉ):


123E-4 -56e+7 8e9


Латинская Π±ΡƒΠΊΠ²Π° "E" (заглавная ΠΈΠ»ΠΈ строчная) Π² ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π°Ρ… читаСтся ΠΊΠ°ΠΊ "ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ Π½Π° 10 Π² стСпСни", Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ соотвСтствуСт арифмСтичСскому Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ 123*10-4. Π—Π½Π°ΠΊ "+" Ρƒ основания ΠΈ стСпСни числа нСобязатСлСн.

Иногда трСбуСтся Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ числа Π½Π΅ Π² дСсятичной, Π° Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… систСмах счислСния. Для записи ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Ρ‹Ρ… чисСл примСняСтся прСфикс 0x. Π’ этой систСмС счислСния каТдая Ρ†ΠΈΡ„Ρ€Π° прСдставляСт 4 Π±ΠΈΡ‚Π° Π΄Π°Π½Π½Ρ‹Ρ…, Π° Π±ΡƒΠΊΠ²Π°ΠΌΠΈ ΠΎΡ‚ A Π΄ΠΎ F (нСзависимо ΠΎΡ‚ ΠΈΡ… рСгистра) ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ "Ρ†ΠΈΡ„Ρ€Ρ‹" ΠΎΡ‚ 10 Π΄ΠΎ 15. Π’Π°ΠΊ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ числа 13, -10, 53392, ΠΈ 1024:


0x0d -0x0A 0xD090 0x400


Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ записи Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² Ρ„Π°ΠΉΠ»Π° Π² Unix) нагляднСС ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ числа Π² Π²ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½ΠΎΠΉ систСмС счислСния. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π²ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½Ρ‹Π΅ числа Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ с Π²Π΅Π΄ΡƒΡ‰ΠΈΠΌ Π½ΡƒΠ»Π΅ΠΌ, Π° каТдая Ρ†ΠΈΡ„Ρ€Π° ΠΈΠ· Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΠΎΡ‚ 0 Π΄ΠΎ 7 прСдставляСт 3 Π±ΠΈΡ‚Π° Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ всС числовыС Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ ΠΈΠ· ΠΎΠ΄Π½ΠΈΡ… Ρ†ΠΈΡ„Ρ€ с Π²Π΅Π΄ΡƒΡ‰ΠΈΠΌ Π½ΡƒΠ»Π΅ΠΌ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Π²ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½Ρ‹Π΅ числа. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Π² Π²ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ числа 292, -438, 511, ΠΈ 1024:


0444 -0666 0777 02000


Когда Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ числа, Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ Π½ΠΈΠΌΠΈ ставится ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΉ систСмы счислСния 0b (каТдая Ρ†ΠΈΡ„Ρ€Π° 0 ΠΈΠ»ΠΈ 1 прСдставляСт 1 Π±ΠΈΡ‚). Π’ΠΎΡ‚ числа 17, -85, 238 ΠΈ 1024, записанныС ΠΊΠ°ΠΊ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹:


0b00010001 -0b01010101 0b1110_1110 0b10000000000


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

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


"Π­Ρ‚ΠΎ строка." "А" 'это другая строка' '.'


Иногда Π² строковых Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π°Ρ… трСбуСтся ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ символ (ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ символ ΠΈΠ»ΠΈ символ, ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅). Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚Π°ΠΊ называСмая escape-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ (называСмая Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ) - это символ "\" (backslash, обратная косая Ρ‡Π΅Ρ€Ρ‚Π°), Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько символов. ВсС Π·Π½Π°ΠΊΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΎΠ΄ΠΈΠ½ символ Π² строковом Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π΅. НапримСр:


\a Π·Π²ΠΎΠ½ΠΎΠΊ (Alert, bell) ΠΈΠ»ΠΈ 0x07 Π² 16-Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠΌ прСдставлСнии \b Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ Π½Π° шаг (Backspace) ΠΈΠ»ΠΈ 0x08 \e символ "эскСйп" (Escape) ΠΈΠ»ΠΈ 0x1B \f ΠΏΡ€ΠΎΠ³ΠΎΠ½ страницы (Form feed) ΠΈΠ»ΠΈ 0x0C \n новая строка (Newline) ΠΈΠ»ΠΈ 0x0A \r Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠΈ (Return) ΠΈΠ»ΠΈ 0x0D \t табуляция (Tabulation) ΠΈΠ»ΠΈ 0x09 \033 Π²ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ символа (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 033) \x1b ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ символа (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 1B) \Cc ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Control+C) \x{263A} Π΄Π²ΡƒΡ…Π±Π°ΠΉΡ‚Π½Ρ‹ΠΉ символ Π½Π°Π±ΠΎΡ€Π° Unicode (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ?) \N{sigma} ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ символ Π½Π°Π±ΠΎΡ€Π° Unicode (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ?) \" символ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ (quote) \' символ ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ апострофа (apostrophe) \\ символ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ Ρ‡Π΅Ρ€Ρ‚Ρ‹ (backslash) \$ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ символ, ΠΊΠ°ΠΊ ΠΎΠ½ Π΅ΡΡ‚ΡŒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π½Π°ΠΊ Π΄ΠΎΠ»Π»Π°Ρ€Π°)


Π’ Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΡŒΠ½Ρ‹Ρ… строках, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… Π² Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ, выполняСтся Π·Π°ΠΌΠ΅Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ escape-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ символа. Вакая подстановка называСтся интСрполяциСй, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:


"символ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° Π½Π° Π½ΠΎΠ²ΡƒΡŽ строку:\n" "слова\t,Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅\t табуляциСй" "вставка \"ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ\" Π² Π»ΠΈΡ‚Π΅Ρ€Π°Π», Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΉ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ"


Если интСрполяция ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ Π½Π΅ трСбуСтся, Ρ‚ΠΎ строковый Π»ΠΈΡ‚Π΅Ρ€Π°Π» Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ апострофы:


'обратная косая с Π±ΡƒΠΊΠ²ΠΎΠΉ n:\n' 'здСсь \t - это обратная косая ΠΈ Π±ΡƒΠΊΠ²Π° t' 'вставка \'апострофов\' Π² Π»ΠΈΡ‚Π΅Ρ€Π°Π», Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΉ Π² апострофы'


Π’ этом случаС ΠΈΠ· escape-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ \' ΠΈ \\ Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π½Π° символы апострофа ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ Ρ‡Π΅Ρ€Ρ‚Ρ‹. А ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ '\n' ΠΈΠ»ΠΈ '\x00', ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ символы. Если Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² строковый Π»ΠΈΡ‚Π΅Ρ€Π°Π» апострофы, Ρ‚ΠΎ строку Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ, ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚:


'ΠΊΠ½ΠΈΠ³Π° "Π˜Π·ΡƒΡ‡Π°Π΅ΠΌ Perl"' "ΠΊΠ½ΠΈΠ³Π° 'Π˜Π·ΡƒΡ‡Π°Π΅ΠΌ Perl'"


Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹Π΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ Π² ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ апострофы ΠΈΠ»ΠΈ Π² Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ, ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… строках, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:


'А это ΠΏΡ€ΠΈΠΌΠ΅Ρ€ строкового Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π°, располоТСнного Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… строках'


ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ здСсь ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Π΅ символы ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π½Π° Π½ΠΎΠ²ΡƒΡŽ строку, многострочныС Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для записи тСкста, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ для Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… строках. Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹Π΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ символа. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ "пустыС строки", ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Π΄Π²Π° апострофа ΠΈΠ»ΠΈ Π΄Π²Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π΅Π»Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ ('' ΠΈΠ»ΠΈ "").

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ способы записи строковых Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ² Π±ΡƒΠ΄ΡƒΡ‚ рассмотрСны Π² Π»Π΅ΠΊΡ†ΠΈΠΈ 7, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΈΠ·Π»Π°Π³Π°ΡŽΡ‚ΡΡ возмоТности строковых Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€ΠΈΠ΅ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками.

Как извСстно, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ - это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ для хранСния Π²ΠΎ врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ± ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ… Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠΈΡ€Π°. Π’ Perl ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Π΄Π²Π΅ основныС разновидности Π΄Π°Π½Π½Ρ‹Ρ…: строки ΠΈ числа, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ скалярными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΌΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. К скалярам Ρ‚Π°ΠΊΠΆΠ΅ относятся ссылки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ рассмотрСны Π² Π»Π΅ΠΊΡ†ΠΈΠΈ 11.