Chinaunix
标题:
求助,根据需要返回指定数组内容应该怎么写?
[打印本页]
作者:
dalian_gq
时间:
2017-07-04 13:50
标题:
求助,根据需要返回指定数组内容应该怎么写?
#!/usr/bin/perl
use 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
********************************************************************************
复制代码
作者:
quanpai
时间:
2017-07-04 14:01
建议使用哈希结构
#!/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";
}
复制代码
作者:
dalian_gq
时间:
2017-07-04 14:45
回复
2#
quanpai
十分感谢,是因为Perl的数组不能这么用,只能用hash吗?
作者:
jason680
时间:
2017-07-04 16:07
回复
3#
dalian_gq
简单的说......
给“数值” 得结果, 可用array(数组)或hash(哈希)
给"字符串" 得结果, 用hash(哈希)
你说你想怎么用
给(字符串)"王大明"就知(结果)"电话是138...." 那就是hash哈希呗
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2