print Util::Stuff::aaa1->flag; # yields 10
...
our $v = 'Util::Stuff::aaa1';
print $$v->flag; # yields undef error
...
our $v = 'Util::Stuff::aaa1->flag';
print "$$v\n"; # yields nothing
The last 2 aren't working because, in the second case, you are trying to call the
flag method on the variable
named Util::Stuff::aaa1; and, in the third case, you are referring to the variable
named Util::Stuff::aaa1->flag (no method call is occurring). What you want to do is to call the
flag method on the class
Util::Stuff::aaa1 itself—no symbolic references are required.
our $v = 'Util::Stuff::aaa1';
print $v->flag;