Perl'de paket değişkenleri için değişken olarak değişken adı kullanmak mümkün olduğunu biliyorum. Bir değişkenin içeriğini modül adı olarak kullanmak isterim. Mesela: Ben mümkün istiyorumBir değişkeni Perl'de modül adı olarak nasıl kullanabilirim?
package Foo;
our @names =("blah1", "blah2");
1;
Ve başka dosyada bir sayısal alan için "foo" içeriğini ayarlamak ve sonra bu sayısal alan ile Foo
isimleri dizi erişmek mümkün. Ben
my $names = eval '$'. $packageName . "::names"
Ama yalnızca Foo::names
@{$packageName}::names; #This obviously doesn't work.
:
my $packageName = "Foo";
Esasen ben çizgisinde bir şey yapmak istiyorum. eval
bildirimi olmadan bunu yapmanın başka bir yolu var mı? , Sen sembolik kullanabilirsiniz
my @values;
{
no strict 'refs';
@values = @{"Mypackage"}::var;
}
"Erişim Foo" ile ne demek istiyorsunuz? – Ether
Sorguyu düzenledik. "@names" paket değişkenine foo – mjn12