Анимация
JavaScript
|
Главная Библионтека "Привет!" •Дело бьшо в прошпом веке" "Ощш рыЬаЛпВторая рыба,\пКрасвая рыбаЛпКуча ракое\п" It U "Мой дорогой Мишель, постарайся все сделать бистро.\п" Если внутри двойных кавычек нужно поместить символ кавычки, перед ним необходимо поставить символ обратной косой черты. Этот символ, иснользуемый внутри строкового литерала, говорит что идущий за ним символ должен восприниматься как управляющий. Посмотрите на следующую строку, которую Perl поймет неправильно: тогда я сказал "Иди и принеси мне В ней кавычка перед словом Иди соответствует первой кавычке строки, поэтому фраза Иди и принеси мне это. остается за кавычками так в Perl писать нельзя. Для нредунреждения нодобной ситуации ноставьте перед кавычками, которые Perl должен проигнорировать, символ обратной косой черты, как показано ниже: "И тогда я сказал ему: \"Иди и принеси мне это.\"" Символы обратной косой черты указывают г1, что следующий за ним символ кавычки не закрывает строку, а является обычным текстовым символом. Это же правило может быть применено и к одинарным кавычкам, например: Перед одинарной кавгчкой V поставьте обратную косую черту. Основное отличие между одинарными и двойными кавычками заключается в том, что строка в одинарных кавычках является литералом в чистом виде. Поэтому ее содержимое никак не интерпретируется Perl. В строках, заключенных в двойные кавычки, могут находиться имена переменных и последовательности управляющих символов. Эти последовательности имеют специальное обозначение, что позволяет включать в строки такие символы, которые сложно или невозможной набрать с клавиатуры или ввести каким-либо другим способом. В табл. 2.2 приведен краткий список управляющих последовательностей Perl. . последовательностей
Полный список управляющих последовательностей можно найти в справочной документации. На предыдущем занятии я уже рассказывал, как обратиться к документации по Perl с помощью встроенной утилиты perldoc. Управляющие последовательности описаны в руководстве под рубрикой perlop в разделе Quote and Quote-like Operators. При наборе строки с большим количеством кавычек очень легко допустить ошибку, поскольку перед каждой внутренней кавычкой нужно обязательно поставить обратную косую черту, как показано ниже: "И тогда я сказал: \"Ид ед\", а он ответил: \"Спув1аюсь!\"," Поэтому для облегчения процесса квотинга в Perl предусмотрены специальные операторы qq и q. Оператор qq заменяет двойные кавычки и ведет себя почти во всех случаях точно так же, как пара двойных кавычек: тогда я сказал: "Иди вперед", а он ответил: "Слушаюсь!".) Одинарные кавычки могут быть заменены оператором q: q(Литералы нужно заключить в одинарн1е кав1чки) Для обозначения начала и конца строк в операторах qq и q можно использовать любые символы, кроме алфавитно-цифровых. Эти символы называются ограничителями (delimiters). В предгдущих примерах я воспользовался скобками, но, как я уже говорил, допустимы любые символы, кроме алфавитно-цифровых: нужно заключить в одинарные кавычки/ q,Литералы нужно заключить в одинарн1е кав1чки, Символы, которые вы хотите использовать в качестве ограничителей, следует указать сразу после операторов qq или q. Вы можете использовать парные символы - {),<>, {}i (] состроками, содержащими эти символы. Причем, если они идут нарами внутри операторов qq и q, обратная косая черта не используется: д(Джо (отец Тона) рубил все деревья подряд (кроне сам1х больших).); Использование вложенных скобок или других символов может снизить читабельность программы. Поэтому обычно используют ограничители, символы которых не встречаются в строке: д[Дхо (отец Тока) рубил все деревья подряд (кроне сам1х больших).]; Скалярные переменные ДЛЯ хранения скалярных данн1х Perl используются скалярные переменные. Скалярная переменная обозначается символом доллара и следующим за ним именем переменной. Вот несколько примеров скалярных переменных: Stotal $E&te $serial nuinber $cat450 Символ доллара, называемый идентификаторов па, указывает Perl, что переменная содержит скалярные данные. Кроме переменн1х скалярного типа, в Perl существуют также переменные других типов (хэши и массивы), для обозначения которых предусмотрены специальные символы. Кроме того, в некоторых случаях в именах переменных идентификаторы могут вообще не использоваться (например, для обозначения дескриптора файла). Имена переменных в Perl, независимо от их типа, т.е. имена хэшей, массивов, дескрипторов файлов и скаляров, должны следовать определенным правилам. • Имена неременных должны состоять из идентификатора тина и идущих за ним символов латинского алфавита (а-z и А-Z), цифровых символов или символа подчеркивания. Но первый символ переменной не может быть цифрой. • Имена переменных чувствительны к регистру. Это означает, что для имен переменных немаловажно, в какой форме идет буквенный символ: строчной или прописной. Следующие имена представляют различные скалярные переменные: $value 5VALUE $Value Кроме того, в зарезервированы имена некоторых односимвольных перемен-нтх. Такие переменные, как $ $", $/, $2 и $$, называются специальными и их не следует использовать как обычные переменные в Perl-программах. Назначение специальных переменных будет описано ниже. В отличие от некоторых других языков программирования, в Perl переменные перед использованием не обязательно должны быть описаны и проинициализированы. Для создания скалярной переменной просто используйте ее. Для неинициализированных переменных Perl использует значение, принятое по умолчанию. Если переменная используется как число (например, в математическом выражении), ее значение по умолчанию - 0 (нуль), если переменная используется как строка (т.е. почти во всех остальных случаях), используется "" или пустая строка. Использование неинициализированных переменных считается образцом плохого стиля программирования. Если Perl запущен из командной строки с ключом -w или же этот ключ указан в первой строке программы (с символами К!) после имени интерпретатора, подобные ситуации отслеживаются и выдается соответствующее предупреждение. Если вы используете неинициализированную переменную, выдается ошибка of uninitialized value. Специальная переменная $ В предусмотрена специальная переменная, значение которой используется во многих выражениях, если явно не указана другая переменная. - Речь идет о переменной $ . Например, если вызвать функцию print без параметров, будет распечатано те-кушее значение переменной $ : Side of the Moon"; prints атает значение переменное "Dark Side ..." Подобное неявное использование переменной $ может создать определенную неразбериху, учитывая, что этой переменной значение может присваиваться задолго до ее применения. Однако подобная методика удобна в случае применения регулярных выражений, о чем речь пойдет на 6-м занятии, "Поиск по шаблону". В этой книге я старался как можно реже использовать переменную $ , чтобы программы было легче читать. 0 1 2 3 4 5 [ 6 ] 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |