Я использую Storable's dclone()
для создания копий различных сложных объектов, которые самостоятельно регистрируются с подключенными регистраторами Log4perl.Storable жалуется, когда сталкивается с объектом логгера, потому что он содержит CODE
ссылок.Когда я включаю опцию сериализации ссылок на код, я получаю зловещее предупреждение
Useless use of a constant (???) in void context at (eval 1668) line 16.
Useless use of a constant (???) in void context at (eval 1668) line 10.
во время процесса клонирования, и регистратор клонированных объектов больше не функционирует.
Объекты, которые я 'm клонирование состоит из других объектов, и регистраторы могут быть присоединены к объекту, его компонентам, их подкомпонентам и т. д.
В идеале я бы хотел, чтобы процесс клонирования игнорировал любые объекты регистратора.
1) Существуют ли какие-либо модули Perl, которые (более) подходят для этой задачи?В идеале я хотел бы иметь возможность контролировать рекурсивное копирование, чтобы копировались только объекты или фрагменты данных, которые не были регистраторами.
2) ... или мне было бы лучше избавиться отрегистрировать возможности объектов (рыдать!) из моих объектов и создавать логгеры, которые не привязаны к объектам?
Буду признателен за любые советы или идеи.