Поиск

Вопросы и ответы

Мне приходилось программировать на С. Существуют ли в Perl аналоги операторов switch и case?

Нет! В Perl имеется такое огромное количество условных операторов, что даже трудно выбрать лучший способ эмуляции оператора switch. На мой взгляд, проще всего это сделать следующим образом:

Страница руководства по синтаксису языка Perl, доступ к которой можно получить, набрав в командной строке perdoc perlsyn, содержит большое количество удачных примеров эмуляции оператора switch, некоторые из них имеют switch-подобный синтаксис.

Какое максимальное количество вложенных циклов for и while, а также операторов if допустимо?

Столько, сколько хотите, лишь бы хватило оперативной памяти. Обычно большое количество вложенных циклов означает, что вы выбрали неправильный подход к решению поставленной задачи.

Что мне делать? Perl выдает сообщение о том, что в программе отсутствует правая закрывающая фигурная скобка Unmatched right bracket (или Hissing right bracket). При этом номер строки с ошибкой соответствует концу файла.

Это означает, что в программе есть открывающая скобка { без парной ей закрывающей } или наоборот. Иногда Perl может угадать, где пропущена скобка, а иногда — нет. При глубоком вложении управляющих структур Perl не может найти ошибки, пока не будет проанализирован весь текст программы до конца файла. Хорошие программные редакторы (например vi, Emacs или MultiEdit) имеют средства, помогающие легко устранить несоответствие скобок. Воспользуйтесь ими.