我想根据用户输入动态创建数组.例如,如果用户给出输入作为3然后三个阵列应当具有名称创建@message1,@message2和@message3.
我怎么在Perl中做到这一点?
yst*_*sth 16
别.相反,使用数组数组:
my @message;
my $input = 3;
for my $index ( 0..$input-1 ) {
    $message[$index][0] = "element 0";
    $message[$index][1] = 42;
}
print "The second array has ", scalar( @{ $message[1] } ), " elements\n";
print "They are:\n";
for my $index ( 0..$#{ $message[1] } ) {
    print "\t", $message[1][$index], "\n";
}
一些有用的规则在http://perlmonks.org/?node=References+quick+reference
Eth*_*her 12
我不得不问你为什么要这样做,因为这不是正确的方法.如果您有三个输入流,每个输入流都需要存储为列表,则存储一个列表,这是一个列表列表(列表存储为数组引用):
my @input = (
    [ 'data', 'from', 'first', 'user' ],
    [ qw(data from second user) ],
    [ qw(etc etc etc) ],
);
如果您有与每个用户的数据关联的名称,您可能希望将其用作哈希键,以便对数据进行索引:
my %input = (
    senthil => [ 'data', 'from', 'first', 'user' ],
    ether => [ qw(data from second user) ],
    apu => [ qw(etc etc etc) ],
);
有关为情况选择正确的数据结构以及如何定义它们的更多信息,请参阅Perl数据结构手册(perldoc perldsc).
| 归档时间: | 
 | 
| 查看次数: | 26608 次 | 
| 最近记录: |