Чтобы обобщить мою проблему, я не собираюсь копировать/вставлять код, а писать простой код. У меня 3 файла, A.pm, B.pm C.pm.Как получить текущее значение объекта в другом файле?
В A.pm AI есть класс с конструктором:
package A;
use strict;
use warnings;
sub new {
my $proto = shift;
my $class = ref($proto) || $proto;
my $self = {};
$self->{NAME} = "Bob";
bless ($self, $class);
return $self;
}
В моем файле B.pm, у меня есть:
package B;
use strict;
use warnings;
use A;
our $MyObjectA = new A();
sub myfunctionB {
$MyObjectA->{NAME} = "Angel";
}
В файле C.pm :
package C;
use strict;
use warnings;
use B;
sub myfunctionC {
print("There is the name of my Object".$B::MyObjectA->{NAME}."\n");
}
В главном p.pl
use strict;
use warnings;
use B;
use C;
B::myfunctionB();
C::myfunctionC();
Результаты: подпрограмма C печать Боб, но я хотел бы, чтобы отобразить Angel. Как я могу сделать?
Ваш код печатает 'Существует имя моего ObjectAngel', как вы просили. Что вы еще хотите? – Borodin