Вопрос № 51240: Здравствуйте, у меня такой вопрос?:
Существует-ли в Perl оператор аналогиный оператору GOTO в других языках программирования. Мен надо чтобы программа, в зависимости от того какой ответ даст пользователь переходла в начало, т.е. начиналась заново...
Вопрос № 51.240
Здравствуйте, у меня такой вопрос?:
Существует-ли в Perl оператор аналогиный оператору GOTO в других языках программирования. Мен надо чтобы программа, в зависимости от того какой ответ даст пользователь переходла в начало, т.е. начиналась заново, в паскале например, я бы поставил в начале программы метку, а там где требуется вернуться воспользовался бы GOTO <label>;. как это можно сделать в Perl.
Спасибо за внимание.
Отправлен: 05.08.2006, 15:08
Вопрос задал: Lperw (статус: 2-ой класс)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Muad Dib
Здравствуйте, Lperw!
Оператор goto в паскалевском понимании существует:
#!/usr/bin/perl -w
$s=5;
$s > 2 ?goto LABEL : die "NO
";
LABEL: print "yes
";
Правда в вашей задаче разумней использовать либо операторы if:
#считаем что read возвращает ввод пользователя.
print "Do you want exit?(y/n)"
$s = read();
if($s eq "y"){
die "Good buy";
}else{
...
}
Либо же что-то типа:
do {
print "Do you want exit? (y/n)";
$s = read();
if($s eq ".."){
...
}elsif($s =~ m/../){
...
}else{
}
}while $s eq "n";
Ответ отправил: Muad Dib (статус: Студент)
Ответ отправлен: 05.08.2006, 15:58 Оценка за ответ: 4
Отвечает: dianacode
Доброе время суток, Lperw
perldoc -f goto
с уважением, удачи
--------- There is more than one way to do it
Ответ отправила: dianacode (статус: 2-ой класс)
Ответ отправлен: 06.08.2006, 01:12 Оценка за ответ: 4