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不固定,有可能是其它字符串,我想按照#(.*)#读出来的值定义数组,有多少行就定义多少个变量,并且将后面的数值都存到对应的数组中,而且在另一个函数还需要调用这几个数组。
麻烦帮忙解决一下。非常感谢。 展开
#AAA#15#20#25#14#16
#BBB#12#45#78#84#68
AAA BBB不固定,有可能是其它字符串,我想按照#(.*)#读出来的值定义数组,有多少行就定义多少个变量,并且将后面的数值都存到对应的数组中,而且在另一个函数还需要调用这几个数组。
麻烦帮忙解决一下。非常感谢。 展开
展开全部
#!/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"; #这里便是第一行
求采纳,感谢!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不知道你是不是这个意思...
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
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询