перевод PERL to PHP

Статус
В этой теме нельзя размещать новые ответы.

cremnet

Создатель
Регистрация
1 Дек 2008
Сообщения
13
Реакции
1
Вобщем столкнулся с проблемой перевода PERL в PHP есть рабочий код на перл я его в PHP перевожу. Проблема что с PERL вообще никогда не сталкивался и смотрю на него как баран на новые ворота. Вроде чтото понятно а всеравно никак не въеду. Вобщем надыбал полезных ссылок самая полезная оказалась Для просмотра ссылки Войди или Зарегистрируйся но там не все что мне нужно знать. КОНКРЕТНЫЙ ВОПРОС:

Кака это понимать?
Код:
open_doc1: {
      &init_vars();
      if ( ($status=&init_io(@_)) ne "ok") {
         last;
      }
      if ( ($status=&init()) ne "ok") {
         &close_document();
         last;
      }
      return "ok";
   }

я немного поясню вопрос ---> open_doc1 : { ... } <--- Это что???
 
Это функция.
Или вопрос не в этом?
 
Это функция.
Или вопрос не в этом?

эта функция? хм... она определена в другой функции и негде не вызыватеся... вообще сложно мне как-то понять как пердаются переменные в функциии и возврщаются от туда
Код:
    sub _open_document{
       local($status)="";
       open_doc1: {
      &init_vars();
      if ( ($status=&init_io(@_)) ne "ok") {
         last;
      }
      if ( ($status=&init()) ne "ok") {
         &close_document();
         last;
      }
      return "ok";
   }
        }
        $status;
    }

эта функция анонимная?
результат этой функции передаетс куда?

Добавлено через 48 минут
Мне тут подсказывают что это метка
Я тут немного полистал google --- perl + метка ....
МЕТКА - это несколько символов, которые оканчиваются двоеточием ':',
например:

LABEL:
FOO:
METKA:

В Perl есть две конструкции GOTO для работы с метками:

goto МЕТКА
goto ВЫРАЖЕНИЕ

так вот... в моем случае open_doc1 используется один раз и потом нигде не вызывается. Значит ли это что внутренний код этой метки не выполнятеся? а если выполняется смысл было ставить эту метку?
 
это так называемый блок кода - в данном случае с меткой
подобен циклу но выполняется 1 раз
часто исползуется для формирования конструкции switch, которая как известно в perl отсутствует
 
open_doc1 : это метка, где-ниже в коде должно быть обращение к это метке типа

next open_doc1;
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху