Regex I';我试图把一个文件分成不同的数组
正如标题所说,我有一个简单的文本文件,我正试图将它分解成几个不同的数组。下面是简单文本文件的外观Regex I';我试图把一个文件分成不同的数组,regex,arrays,perl,Regex,Arrays,Perl,正如标题所说,我有一个简单的文本文件,我正试图将它分解成几个不同的数组。下面是简单文本文件的外观 --ARRAY1-- eenie --ARRAY2-- meenie minie --ARRAY3-- moe 我在代码中的主要思想是循环遍历这个文件,并将“-array--”之间的所有内容放入与文本文件中的数组相对应的数组中 ##logic that loops through above text file{ $line =~ s/[\ ]//g; #chops off spaces
--ARRAY1--
eenie
--ARRAY2--
meenie
minie
--ARRAY3--
moe
我在代码中的主要思想是循环遍历这个文件,并将“-array--”之间的所有内容放入与文本文件中的数组相对应的数组中
##logic that loops through above text file{
$line =~ s/[\ ]//g; #chops off spaces
if($line =~/(\-\-)/){
if($line =~/[ARRAY1]/){$arrayholder='array1';}
if($line =~/[ARRAY2]/){$arrayholder='array2';}
if($line =~/[ARRAY3]/){$arrayholder='array3';}
}
push @"$arrayholder", "$line";
}
## END LOOP LOGIC}
我现在的问题是
push @"$arrayholder", "$line";
似乎我不能使用变量来调用数组。我甚至试过
if($line =~/[ARRAY2]/){$arrayholder='@array2';}
无济于事
感谢您的帮助。我愿意修正我的全部逻辑。谢谢考虑一下:
考虑一个:
考虑一个:
考虑一个:
如果我理解正确,那么我建议您使用数组引用的散列。像这样
use strict;
use warnings;
my %data;
my $array;
while (<DATA>) {
chomp;
if (/^--(\w+)--/) {
$array = $1;
}
elsif ($array) {
push @{ $data{$array} }, $_;
}
}
use Data::Dump;
dd \%data;
__DATA__
--ARRAY1--
eenie
--ARRAY2--
meenie
minie
--ARRAY3--
moe
如果我理解正确,那么我建议您使用数组引用的散列。像这样
use strict;
use warnings;
my %data;
my $array;
while (<DATA>) {
chomp;
if (/^--(\w+)--/) {
$array = $1;
}
elsif ($array) {
push @{ $data{$array} }, $_;
}
}
use Data::Dump;
dd \%data;
__DATA__
--ARRAY1--
eenie
--ARRAY2--
meenie
minie
--ARRAY3--
moe
如果我理解正确,那么我建议您使用数组引用的散列。像这样
use strict;
use warnings;
my %data;
my $array;
while (<DATA>) {
chomp;
if (/^--(\w+)--/) {
$array = $1;
}
elsif ($array) {
push @{ $data{$array} }, $_;
}
}
use Data::Dump;
dd \%data;
__DATA__
--ARRAY1--
eenie
--ARRAY2--
meenie
minie
--ARRAY3--
moe
如果我理解正确,那么我建议您使用数组引用的散列。像这样
use strict;
use warnings;
my %data;
my $array;
while (<DATA>) {
chomp;
if (/^--(\w+)--/) {
$array = $1;
}
elsif ($array) {
push @{ $data{$array} }, $_;
}
}
use Data::Dump;
dd \%data;
__DATA__
--ARRAY1--
eenie
--ARRAY2--
meenie
minie
--ARRAY3--
moe
解释为什么这两个答案使用HoA而不是变量名。解释为什么这两个答案使用HoA而不是变量名。解释为什么这两个答案使用HoA而不是变量名。解释为什么这两个答案使用HoA而不是变量名。