Я предполагаю, что и «Файл1», и «Файл2» являются чисто объектно-ориентированными модулями. Это означает, что они не поддерживают глобальное состояние и поддерживают только методы класса для создания объектов и методы объекта для выполнения действий над эти объекты.
В этом случае я бы поместил логику проверки в вашу основную программу, а не в модуль File1, и написал бы ее так:
if ($addXML->hasObjectImLookingFor) {
$xml->add($addXML->getObjectImLookingFor);
} else {
die "File 2 does not contain object I'm looking for";
}
Извините, это расплывчато, но, честно говоря, ваш вопрос тоже. Если вы действительно можете дать нам небольшой пример полного кода Perl (я понимаю, что это может быть не ваш настоящий код, а просто небольшой фиктивный модуль, который иллюстрирует поведение), который может помочь.