希望每行有三个数组并捕获所有数组并转向我可以在循环中执行带有这些值的命令时使用的变量。
数组示例“只是在我的脑海中,我不是那么好”:
Arr = [ dba, password, db1;
dba, password, db2;
dba, password, db3; ]
我想要“;”成为循环的某种分隔符不确定是否可能,并且创建循环以创建类似的东西并捕获第一列和第三列:
sqlplus 1col[@]/2col[@]@3col[@]
答案 0 :(得分:2)
您可以在Perl中使用哈希数组,如下所示:
use strict;
use warnings;
my @settings = (
{ dba => 'dba1', pass => 'pass1', db => 'db1' },
{ dba => 'dba2', pass => 'pass2', db => 'db2' },
{ dba => 'dba3', pass => 'pass3', db => 'db3' }
);
for my $set (@settings) {
system("sqlplus", "$set->{'dba'}/$set->{'pass'}\@$set->{'db'}");
}
这将执行sqlplus dba1/pass1@db1
,然后执行sqlplus dba2/pass2@db2
等
答案 1 :(得分:1)
看起来你想要使用数组结构数组
my @Arr = (
[qw( dba password db1 )],
[qw( dba password db2 )],
[qw( dba password db3 )],
);
# to access first array
print "$Arr[0][0], $Arr[0][1], $Arr[0][2]\n";