Как распечатать переменную пакета в Perl

#perl

#perl

Вопрос:

Я хочу распечатать переменную пакета в основном пакете, как я могу это сделать?

 package temp;
$A = 10;
1;

package main;
$B = "A";
print $temp::$B;
1;
  

Комментарии:

1. Рассмотрите возможность объявления переменных пакета с помощью our и используйте strict и warnings pragma . Вы хотите печатать $A в temp пакете из main пакета? Что было бы print $temp::A, "n" ?

Ответ №1:

 print $temp::A;
  

Если вы (ужасно) хотите использовать «символическую ссылку», как вы, кажется, делаете,

 my $var_name = "temp::A";
print do { no strict qw( refs ); $$var_name };