Я работаю над довольно сложным приложением, написанным на Perl.У меня довольно большой опыт работы с языком, но я просто озадачен этим.
Я использую модуль Foo, который использует sysread и syswrite для различных операций над дескриптором файла (Направленный сокет, в данном случае), который я передаю его конструктору.
Я хочу сделать следующее: Из другого модуля, который я пишу (давайте назовем его Bar), я хочу изменить способ, которым используется sysread /write ведут себя только при вызове изнутри методов, принадлежащих Foo
Sysread и др. должны работать как обычно везде.Можно смело предположить, что использование sysread не изменится в Foo.
Причина Я хочу сделать это, мне нужно отслеживать количество байтов, которые читаются / записываютсяна вышеупомянутый дескриптор файла.На данный момент кажется, что это единственный способ получить эту информацию - в основном сохранение возвращаемого значения из sysread / write.
У меня нет проблем с использованием чего-либо из CPAN, если оно хорошего качества.
Обновление: я нашел лучшее решение для своей конкретной проблемы и разместил код здесь:
https://github.com/Hercynium/Tie-Handle-CountChars
Кажется, он работает очень хорошов моем приложении, но я не буду публиковать его в CPAN до тех пор, пока не провожу более тщательную проверку, а также не напишу несколько реальных модульных тестов:)