Мне интересно, как бы я поступил так:
package Something;
our $secret = "blah";
sub get_secret {
my ($class) = @_;
return; # I want to return the secret variable here
}
Теперь, когда я иду
print Something->get_secret();
Я хочу напечатать blah
. Теперь, прежде чем вы скажете мне просто использовать $secret
, я хочу убедиться, что если производный класс использует Something
в качестве базы и я вызываю get_secret
, я должен получить секрет этого класса.
Как вы ссылаетесь на переменную пакета, используя $class
? Я знаю, что могу использовать eval
, но есть ли более элегантное решение?