求助,根据需要返回指定数组内容应该怎么写?
#!/usr/bin/perluse strict;
use warnings;
my @SS_A1 = ('KQ1','KH1','KL1');
my @SS_A2 = ('KQ1','KH1','KL2');
my @SS_F4 = ('HH1','FF1','TT2');
#等等,赋值语句还有很多。
my @input = ('A1','F4');
foreach my $key (@input){
print $key,"\n";
print join "\t",@SS_{$key},"\n"; # 这个不对,但这行要怎么写?
print '*'x80,"\n";
}
怎样才能得到下面这个结果?
A1
KQ1 KH1 KL1
********************************************************************************
F4
HH1 FF1 TT2
********************************************************************************
建议使用哈希结构
#!/usr/bin/perl
use strict;
use warnings;
my %h = (
'A1' => ['KQ1','KH1','KL1'],
'A2' => ['KQ1','KH1','KL2'],
'F4' => ['HH1','FF1','TT2'],
);
my @input = ('A1', 'F4');
foreach my $key (@input){
print $key,"\n";
print join "\t",@{$h{$key}},"\n";
print '*'x80,"\n";
}
回复 2# quanpai
十分感谢,是因为Perl的数组不能这么用,只能用hash吗? 回复 3# dalian_gq
简单的说......
给“数值” 得结果, 可用array(数组)或hash(哈希)
给"字符串" 得结果, 用hash(哈希)
你说你想怎么用
给(字符串)"王大明"就知(结果)"电话是138...." 那就是hash哈希呗
页:
[1]