169 похожих чатов

Я опять с LibXML. оно ощибки в STDERR печатает, как бы

это иначе сделать?
eval { $dom = XML::LibXML->load_xml(string => $xml, expand_entities => 0, no_network=>1, clean_namespaces => 1, recover => 1, validation=>0) };
такое впечетление что вообще ни на что не влияет.
фраза XML::LibXML::Error; this class overrides the operator "" мне мало что говорит, если что.

17 ответов

22 просмотра

2> имя_файла

Универсальный, но топорный способ. my $stderr; open(local *STDERR, '>', \$stderr); warn "aaaa"; say "[[$stderr]]";

close(2); pipe(...); dup2(..., 2);

Denis Evdokimov
Универсальный, но топорный способ. my $stderr; op...

а оно реально 2-й дескриптор перекроет? там же сишный код может печатать, который ничего знать не знает о перловых глобах

Vyacheslav-Olkhovchenkov Автор вопроса
Vadim Goncharov
а оно реально 2-й дескриптор перекроет? там же сиш...

Да, сишный код может сразу во 2-й дескриптор писать. Тут уже зависит от библиотеки. После отправки сообщения подумал, что не правильно называть мой вариант универсальным. Скорее топорным, быстрым, простым и часто работающим. Твой вариант универсальнее, только pipe не стоит использовать, вполне легко получить deadlock( Захотелось написать рабочий вариант:

Vadim Goncharov
а в чем дедлок?

Ты пишешь и читаешь пайп из одного процесса. Активно пишем в пайп, он заполняется и блокируется до опустошения. А опустошать его некому, мы же ждём продолжения записи

Denis Evdokimov
Ты пишешь и читаешь пайп из одного процесса. Актив...

а, тьфу, я же это в другом треде делал, в самом деле...

Vadim Goncharov
а, тьфу, я же это в другом треде делал, в самом де...

Именно. В любом случае придётся что-то делать, чтобы избежать этой проблемы. Тред/процесс/ещё что-то. Стало любопытно, можно ли поставить таймер и в обработчике сигнала прочитать из этого пайпа. Думаю, что нельзя

Denis Evdokimov
Именно. В любом случае придётся что-то делать, что...

где-то после 5.8 сигналы просто ставят флаг, и обработчик позже запускается, так что по идее можно

Vyacheslav-Olkhovchenkov Автор вопроса
Denis Evdokimov
Получилось?

нет, а с перенаправлением я и не пытался -- больно криво

Vyacheslav Olkhovchenkov
нет, а с перенаправлением я и не пытался -- больно...

Держи в курсе, очень любопытно. А может и перенаправление через несколько дней станет "ничего идеей"

Vyacheslav-Olkhovchenkov Автор вопроса
Denis Evdokimov
Держи в курсе, очень любопытно. А может и перенап...

все такие любопытные, а как насчет подсказать? вот я докопался до if (recover==1) { call_pv( "XML::LibXML::Error::_report_warning", G_SCALAR | G_DISCARD); } else { call_pv( "XML::LibXML::Error::_report_error", G_SCALAR | G_DISCARD); } как эту дрянь переопределять? вот что, тупо у себя use XML::LibXML::Error; sub XML::LibXML::Error::_report_warning { .... } не верю

Vyacheslav Olkhovchenkov
все такие любопытные, а как насчет подсказать? вот...

Обернуть свой вызов в eval, выставить $XML::LibXML::Error::WARNINGS=1; и потом $@->dump();

Vyacheslav-Olkhovchenkov Автор вопроса

Похожие вопросы

Обсуждают сегодня

а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
TCodePointer = record cp: CodePointer; name: string; cnt: Integer; next: TCodePointerArray; // этот тип ещё неизвестен end; TCodePointerArray = array of ...
notme
9
Привет ) есть такой кусок кода, он считывает ini файл. my $conf = Config::IniFiles->new( -file => $ini_file ); if (!$conf) { $self->my_die('cannot_read_cfg', ...
Kolya lastname
7
Добрый день. Хочу сделать отрисовку по команде на панели. Почему-то рисуется только при втором вызове. С чем может быть связано, не подскажете? procedure TForm1.FormDblClick(...
Kirill Filippenok
20
Всем привет! Подскажите. Я написал приложение на Delphi 10.2 Tokyo под Windows 10. И передо мной стал вопрос о том чтобы сделать это приложение кроссплатформенным (под Linux и...
Дмитрий Завгородний
24
Блин, интересно, кто-нибудь когда-нибудь переписывал какую-нибудь игру с x86 на arm? Вообще, такое возможно?
Alan 🔝 Бэброу
13
здравствуйте, братья, кто-нибудь знает, как работать с Swift.com или Swift.net?
Ozzy
6
why html and css is not standard? i mean why different browser has their own engine and styles and how them work to show result to end user?
Mr Thieves
5
Ну тогда у меня вопрос... ) А вот в Delphi 7, к примеру, это что не решаемая задача была бы? (дженериков то ещё нету) Эта: https://t.me/Delphi_Lazarus/319568
notme
5
@wit01d How are you? What are you studying these days, curious man ?
Sahand 🏔️
6
Карта сайта