Иллюстрированный самоучитель по Perl

Вопросы и Упражнения

Вопросы для самоконтроля

1. Что такое регулярное выражение?

2. Какие символы имеют в регулярном выражении Perl специальное значение?

3. Что такое метапоследовательность, как она образуется?

4. Что такое обратная ссылка?

5. Какая переменная используется в операции подстановки по умолчанию?

6. Какой смысл имеет символ "$" в следующих регулярных выражениях:

/abc*$/
/[аbс*$]/
/$abc/

7. Какой смысл имеет символ " ^ " в следующих регулярных выражениях:

/ ^ аbс/
/[аbс]/
/аbс ^ /

8. Объясните, какие множества строк соответствуют следующим образцам. Приведите пример.

/a.out/
/a\.out/
/\d{2.3}-\d{2}-\d{2}/
/(.)(.).\2\1/ /(.) (.).\02\01/

9. Напишите образец, задающий палиндром из шести букв.

10. Напишите команду замены, которая:

  • заменяет все символы новой строки пробелами;
  • выделяет из полного маршрутного имени файла имя файла;
  • выделяет из полного маршрутного имени файла имя каталога.

11. Каково значение следующих выражений, если значение переменной $var равно "123qwerty"?

$var =~ /./ $var = – /[A-Z]*/
$var =~ /\w{4-9}/ $var =~ /(\d)2(\D/ $var =~ /qwerty$/ $var =~ /123?/

11.1. Какое значение будет иметь переменная $var после следующих операций подстановки, если ее начальное значение равно "qwertyi23qwerty"?

$var =~ s/qwerty/XYZ/; $var =~ s/[a-zJ+/X/g; $var =~ s/B/W/i;
 $var =~ s/(.)\d.*\l/d/; $var =~ s/(\d+)/$l*2/e;

12. Начальное значение переменной $var равно "qwertyi23qwerty". Каким оно будет после выполнения операций транслитерации?

$var =~ tr/a-z/A-Z/; $var =~ tr/a-z/0-9/; $var =~ tr/a-z/O-9/d;
$var =~ tr/231/564/; $var =~ tr/123/ /s;. $var =~ tr/123//cd;

13. Переменная $var имеет значение "qwertyqwerty". Каково значение, возвращаемое функцией?

substr ($var, 0, 3);
substr ($var, 4);
substr ($var, – 2, 2);
substr ($var, 2, 0);
index ($var, "rt"); index ($var, "rtyu");
index ($var, "er", 1); index ($var, "er", 7);
 rindex ($var, "er");
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.