Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> caller и # line 30, Perl 5.10 
:(
    Опции темы
tishaishii
Дата 23.9.2011, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Создатель
***


Профиль
Группа: Завсегдатай
Сообщений: 1262
Регистрация: 14.2.2006
Где: Москва

Репутация: 4
Всего: 8



Есть большая сложная система (web-интерфейс CGI), написанная непрофессиналами.
В ней необходимо отладить некоторые операции.
В файлах perl добавлены запутывающие отладку конструкции вроде:
Код

код Perl

# line 30 "/path/file"

код Perl


В подобном файле происходит вызов функции из модуля mod::fn:

Код

sub mod::fn(;@) {
          warn join ', ', caller;
...............................................
}


warn выводит, "Somethin is wrong at "/path/file" as line 30".

Как узнать реальный caller?

Для наглядности, пример:

Код

package test;

sub test(;@) {
    warn join ', ', caller;
}

package main;

# line 40 "/path/file"

&test::test();


Это сообщение отредактировал(а) tishaishii - 23.9.2011, 12:49
PM MAIL ICQ Skype   Вверх
ginnie
Дата 23.9.2011, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 6.1.2008
Где: Москва

Репутация: 38
Всего: 49



tishaishii, как получить реальный caller или отключить Plain Old Comments через ключи запуска не нашел. Можно во всех файлах добавить перед # пробел, чтобы Plain Old Comments не срабатывали.


--------------------
Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг)
PM MAIL Skype Jabber   Вверх
tishaishii
Дата 25.9.2011, 07:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Создатель
***


Профиль
Группа: Завсегдатай
Сообщений: 1262
Регистрация: 14.2.2006
Где: Москва

Репутация: 4
Всего: 8



Можно. Уже так и делаю. Только, не считаю правильным такой подход - пересмотр всего кода каждого файла.
PM MAIL ICQ Skype   Вверх
Pfailed
Дата 25.9.2011, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 933
Регистрация: 19.7.2009

Репутация: 22
Всего: 39



А тем же однострочником на перле нельзя выпилить все эти комментарии?


--------------------
PM MAIL   Вверх
tishaishii
Дата 26.9.2011, 06:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Создатель
***


Профиль
Группа: Завсегдатай
Сообщений: 1262
Регистрация: 14.2.2006
Где: Москва

Репутация: 4
Всего: 8



Можно. Только, некоторые варианты не проходят.
Спасибо. Это будет затяжная война.
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0743 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.