我已阅读这篇文章,并发现有多种方法可以在perl中创建数组的动态命名。
http://en.allexperts.com/q/Perl-CGI-1045/dynamic-naming-array-1.htm
根据链接,代码将创建如下的动态数组:
@yearsSoFar2004,
@yearsSoFar2005,
@yearsSoFar2006 etc.
我的要求如下。我想创建一个像这样的动态数组:
my @a0=();
my @a1=();
my @a2=();
my @a3=();
我目前在我的代码中使用静态但我想让它变得动态。这是下面的静态代码。请帮帮我们。我是PERL的新手
my @a=();
my @b=();
my @c=();
my @d=();
答案 0 :(得分:3)
您的请求有三个问题:
my
在编译时声明一个词法变量,因此要求在运行时将名称传递给my
是没有意义的。答案 1 :(得分:2)
我的要求如下。我想创建一个像这样的动态数组:
my @a0=(); my @a1=(); my @a2=(); my @a3=();
所以,请使用
my @data = (
[ ... ],
[ ... ],
[ ... ],
);
如果你想按年份索引每年的数据数据(而不是整数0,1,2,...,n),那么使用哈希:
my %data = (
2005 => [ ... ],
2006 => [ ... ],
2007 => [ ... ],
);
你现在拥有的是compounded stupidity。不要那样做。