我有一个程序,可以打印出表单中文本段落中逗号的位置
例如,如果段落
one,two,three
three and a half
four,five
six
seven,eight
程序将打印
0:4
0:8
2:5
4:6
我想使用这个输出创建一个数组,其中冒号后面的数字列在冒号前面的索引指定的行中的列之间。由上述坐标形成的阵列为
4 8
<blank or character . >
5
<blank or character . >
6
so array[0,0] = 4, array[0,1] = 8 array[1,0] = empty array[2,0] = 5 etc...
我打赌这很简单,但我需要帮助来写。
$data_file="file.out";
open(DAT, $data_file) || die("Could not open file!");
@raw_data=<DAT>;
close(DAT);
my %array;
my $line = 0;
foreach $newline(@raw_data) {
chomp;
while ( $newline=~m/(,|;|:|and)/) {
push @{ $array{$line} }, pos($newline); # autovivification
}
$line++; }