perl 根据匹配内容定义数组

有一个文件,里面存的是如下:#AAA#15#20#25#14#16#BBB#12#45#78#84#68AAABBB不固定,有可能是其它字符串,我想按照#(.*)#读出来... 有一个文件,里面存的是如下:
#AAA#15#20#25#14#16
#BBB#12#45#78#84#68
AAA BBB不固定,有可能是其它字符串,我想按照#(.*)#读出来的值定义数组,有多少行就定义多少个变量,并且将后面的数值都存到对应的数组中,而且在另一个函数还需要调用这几个数组。
麻烦帮忙解决一下。非常感谢。
展开
 我来答
liu515678087
2014-06-16 · 超过24用户采纳过TA的回答
知道答主
回答量:220
采纳率:50%
帮助的人:98.5万
展开全部
#!/usr/bin/perl    #这个脚本主要用到哈希
open IN,"1.txt" or die; #1.txt就是你的文件
@a = <IN>;
my %hash;
$i=0;
foreach $b (@a){
$i++;
my @c;
chomp $b;
    @c = split /#/,$b;
$hash{$i}="@c";
 }
print "$hash{1}\n"; #这里便是第一行


求采纳,感谢!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友c9e795dda
推荐于2016-03-03 · TA获得超过5167个赞
知道大有可为答主
回答量:1128
采纳率:0%
帮助的人:1137万
展开全部

不知道你是不是这个意思...

my $data = {};

sub readData {
    while ( <DATA> ) {
        chomp;
        my @temp = split /#/, $_;
        shift @temp;
        my $name = shift @temp;
        @{$data->{$name}} = @temp;
    }
}

sub callData {
    print $_.$/ foreach @{$data->{$_[0]}};
}

readData();
callData('AAA');

__DATA__
#AAA#15#20#25#14#16
#BBB#12#45#78#84#68
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式