Sé que es posible usar una variable como nombre de variable para variables de paquete en Perl. Me gustaría usar los contenidos de una variable como un nombre de módulo. Por ejemplo:¿Cómo puedo usar una variable como nombre de módulo en Perl?
package Foo;
our @names =("blah1", "blah2");
1;
Y en otro archivo que desea ser capaz de ser capaz de establecer el contenido de un escalar a "foo" y luego acceder a la matriz a través nombres en Foo
que escalar.
my $packageName = "Foo";
Básicamente quiero hacer algo en la línea de:
@{$packageName}::names; #This obviously doesn't work.
Sé que puedo usar
my $names = eval '$'. $packageName . "::names"
Pero sólo si Foo::names
es un escalar. ¿Hay otra forma de hacerlo sin la declaración eval
?
¿Qué quiere decir con "access Foo"? – Ether
Editado la pregunta. Quiero poder acceder a la variable del paquete "@names" dentro de foo – mjn12